Мне пришлось переключиться с использования 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.
Строки и прямоугольник отображаются с помощью PDFSharp.
Таблица, отображаемая с помощью PDFSharpCore. Обратите внимание, как сместилось содержимое ячейки, и «Отчет о входящих расчетах (детализированный) "разбит на две строки из-за увеличенного расстояния между словами.
Строка и прямоугольник, отображаемые с помощью PDFSharpCore. Обратите внимание на то, как увеличенный интервал между словами заставил дату расчета прерывать следующую строку , Обратите внимание, что любые слова, выделенные жирным шрифтом, как представляется, не выделены жирным шрифтом в этом рендере.