2016-08-18 6 views
0

Мне интересна настройка или тонкая настройка кода, который записывается в PDF с использованием PDFsharp library..net способ манипулировать толщиной подчеркивания в System.Drawing через PDFsharp

Проблема заключается в том, что когда у меня есть текст, выделенный как полужирным, так и подчеркнутым, подчеркивание становится более толстым, а также соответствующим текстом. Я бы хотел, чтобы подчеркивание оставалось тонким, а текст выделялся жирным шрифтом.

При взгляде на API PDFsharp, а также в формате System.Drawing, похоже, что нет простого способа сделать это.

Кто-нибудь знает об обратном?

Ниже приведен пример текущего вывода кода, использующего PDFsharp lib, который, я уверен, имеет некоторые оберточные вызовы для System.Drawing и других реализаций GDI/WPF.

Мы используем GDI. Я уверен. Главный PDFsharp вызов мы делаем здесь

public void DrawString(string s, XFont font, XBrush brush, double x, double y, XStringFormat format, double width)

enter image description here

ответ

1

PDFsharp не использует System.Drawing при создании файла PDF, так манипулируя System.Drawing не будет никакой пользы в вашем случае ,

PDFsharp использует нижнее положение и подчеркивание толщины из таблицы шрифтов.

Поскольку PDFsharp является открытым исходным кодом, вы можете изменить его, чтобы использовать фиксированную толщину подчеркивания.

Или напишите вспомогательный метод, который рисует текст без подчеркивания, а затем рисует строку под текстом. Это можно сделать без изменения PDFsharp, и вы можете легко перейти на более поздние версии.

Обновление: Другая возможность: использовать MigraDoc для создания файлов PDF.

MigraDoc использует PDFsharp для создания PDF-файла, но MigraDoc рисует подчеркивания текста собственным кодом, а обычный и полужирный текст будет иметь одинаковые подчеркивания.

+0

@lewiSnort Обновлен мой ответ - MigraDoc может быть для вас решением. –

+0

К сожалению, MigraDoc не подходит для нас, но это хорошо знать. Мне нравится решение «обходного решения», а не модификация стороннего кода, но это хорошая информация или, может быть, мы можем внести свой вклад в PdfSharp :). Благодаря! – lewiSnort

 Смежные вопросы

  • Нет связанных вопросов^_^