Добавление шрифта с использованием PDFsharp
Я использую PDFsharp, чтобы добавить текст в PDF. Но когда я использую код ниже, чтобы добавить следующий текст с этими шрифтами, я сталкиваюсь с проблемой. После создания PDF с использованием PDFsharp и его открытия в Adobe Reader появляется сообщение "Не удается найти или создать шрифт" Обмотки ". Некоторые символы могут отображаться или печататься неправильно". Это открывает
Исходный PDF, который я пытаюсь изменить, имеет шрифты Helvetica и Windings(Embedded)
Это часть кода, которая добавляет текст в PDF
Dim font As XFont = New XFont("Verdana", 20, XFontStyle.Regular)
gfx.DrawString("Hello, World!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
font = New XFont("WingDings", 20, XFontStyle.Regular)
gfx.DrawString("llll", font, XBrushes.Black, New XRect(25, 15, page.Width, page.Height), XStringFormats.Center)
font = New XFont("Helvetica", 20, XFontStyle.Regular)
gfx.DrawString("abcd", font, XBrushes.Black, New XRect(50, 25, page.Width, page.Height), XStringFormats.Center)
После использования этого кода текст успешно добавляется, но когда я открываю в PDF Reader, я получаю сообщение об ошибке (см. Сообщение об ошибке выше). Когда я вижу шрифты в свойствах PDF, я нахожу следующее
Helvetica,Verdana, Обмотки
Но там не было Windings(Embedded), который был в исходном pdf. Также в созданном pdf добавленный шрифт windings отображал фактический шрифт под ним как Unknown(Actual font:Unknown). Я думаю, что это ошибка. Как это можно решить? Кроме того, я хочу знать, как добавить обычную обмотку (встроенное подмножество) в PDFsharp? Это исходный PDF, который я использовал. Это PDF после создания после изменения в PDFsharp, который выдает ошибку.
1 ответ
В PDFsharp вы должны указать, что шрифты должны быть встроены (используя, например, PdfFontEmbedding.Always
смотрите здесь).
По умолчанию шрифты не будут встроены - файлы PDF будут меньше, но могут возникнуть проблемы, когда они отображаются на компьютерах, на которых этот шрифт не установлен.
AFAIK PDFsharp не может использовать шрифты, которые уже встроены в PDF.