Интервалы между словами и визуализацией глифов различаются между PdfSharp и PdfSharpCore. Как мне заставить их выглядеть одинаково? - PullRequest
0 голосов
/ 05 февраля 2020

Мне пришлось переключиться с использования PdfSharp и MigraDo c v1.50 в Visual Studio C# на PdfSharpCore v1.1 (который переносит MigraDocs как MigraDocCore).

Например, это:

using PdfSharp.Drawing;

теперь так:

using PdfSharpCore.Drawing;

Я заметил, что форматирование моих PDF-файлов испортилось из-за передачи. Машина и приложение все то же самое. Единственное отличие состоит в том, что я изменил свои операторы использования, чтобы использовать базовую версию PdfSharp. Я также изменил ссылки на пакет. Я не уверен, почему документы выглядят иначе. Самая большая проблема заключается в том, что между словами теперь есть большие пробелы. Они также все представлены как отдельные глифы. Раньше, когда я выделил предложение PDF-файлом, представленным с помощью PdfSharp, выделилось все предложение. Выделение строки в рендере PDFSharpCore «пропускает» пробелы. Поэтому каждое слово выделяется индивидуально. Это нехорошо.

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

Вот как я определяю свои шрифты:

XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode);

string fontFamily = "Lucida Sans Unicode";
int fontSize = 10;
XFont normal = new XFont(fontFamily, fontSize, XFontStyle.Regular, options);
XFont bold = new XFont(fontFamily, fontSize, XFontStyle.Bold, options);
XFont italic = new XFont(fontFamily, fontSize, XFontStyle.Italic, options);
XFont bolditalic = new XFont(fontFamily, fontSize, XFontStyle.BoldItalic, options);

Я приложил несколько скриншотов ниже.


Таблица отображается с помощью PDFSharp.

Rendered using PDFSharp

Строки и прямоугольник отображаются с помощью PDFSharp.

Rendered using PDFSharp


Таблица, отображаемая с помощью PDFSharpCore. Обратите внимание, как сместилось содержимое ячейки, и «Отчет о входящих расчетах (детализированный) "разбит на две строки из-за увеличенного расстояния между словами.

Rendered using PDFSharpCore

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

Rendered using PDFSharpCore

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...