Как создать PDF-файл формата A-2 - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь создать ODF A-2 с iText 7, но получаю следующее исключение:

iText.Pdfa.PdfA Conformance Exception: 'Все шрифты должны быть встроены. Это не: Times-Bold '.

Если кто-нибудь может мне помочь, я был бы очень признателен.

Мой код:

iText.Kernel.Pdf.PdfWriter writer = new iText.Kernel.Pdf.PdfWriter (pdfNewName);

ConverterProperties properties = new ConverterProperties ();

iText.Pdfa.PdfADocument pdf = new iText.Pdfa.PdfADocument (writer, iText.Kernel.Pdf.PdfAConformanceLevel.PDF_A_2B, new iText.Kernel.Pdf.PdfOutputIntent ("Custom", "", 6-2) ", new FileStream (profile, FileMode.Open)));

iText.Layout.Document document = new iText.Layout.Document (pdf);

iText.Kernel.Font.PdfFont ExternalSource = iText.Kernel.Font.PdfFontFactory.CreateFont (bold, iText.IO.Font.PdfEncodings.WINANSI);

iText.Layout.Element.Paragraph p = new iText.Layout.Element.Paragraph ();

p.SetFont (externalSource);

document.Add (p);

HtmlConverter.ConvertToPdf (htmlString, pdf, properties);

1 Ответ

0 голосов
/ 21 июня 2020

Вы смотрели документацию PdfFontFactory? Некоторые из его методов принимают аргумент, определяющий, следует ли встраивать шрифт. Например, этот:

iText.Kernel.Font.PdfFontFactory.CreateRegisteredFont   (   String  fontName,
   String   encoding,
   bool     embedded 
)       

Если вы хотите создать файл PDF / A, все шрифты должны быть встроены, даже стандартные 14 шрифтов, такие как Times. Таким образом, вам придется сказать iText, чтобы он вставил шрифт, который вы хотите использовать для своего текста.

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