Всем здоровья. Возникла потребность в работе с iText, конвертирую таблицу из html документа в pdf. За основу взят пример от разработчиков, в целом все ок, только кириллица упрямо не отображается на странице. В html lang ="ru", charset="utf-8", в SetLang(new PdfString("ru-RU")) по дефолту стояло en-US, в описании сказано язык и локаль, но не взлетает. Буду благодарен за помощь.
using System.IO;
using iText.Html2pdf;
using iText.Html2pdf.Attach.Impl;
using iText.IO.Font;
using iText.Kernel.Font;
using iText.Kernel.Pdf;
using iText.Layout.Font;
using iText.Samples.Sandbox.Pdfhtml;
namespace iText.Samples.Sandbox.Pdfhtml
{
public class CreateAccessiblePDF
{
public static readonly string SRC = @"C:\Templates\";
public static readonly string DEST = @"C:\Templates\result.pdf";
public static void Main(string[] args)
{
FileInfo file = new FileInfo(DEST);
file.Directory.Create();
string htmlSource = SRC + "1.html";
new CreateAccessiblePDF().ManipulatePdf(htmlSource, DEST);
}
public void ManipulatePdf(string src, string dest)
{
WriterProperties writerProperties = new WriterProperties();
writerProperties.AddXmpMetadata();
PdfWriter pdfWriter = new PdfWriter(dest, writerProperties);
PdfDocument pdfDoc = new PdfDocument(pdfWriter);
pdfDoc.GetCatalog().SetLang(new PdfString("ru-RU"));
pdfDoc.SetTagged();
pdfDoc.GetCatalog().SetViewerPreferences(new PdfViewerPreferences().SetDisplayDocTitle(true));
ConverterProperties props = new ConverterProperties();
FontProvider fontProvider = new FontProvider();
fontProvider.AddStandardPdfFonts();
fontProvider.AddDirectory(SRC);
props.SetFontProvider(fontProvider);
props.SetBaseUri(SRC);
HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open), pdfDoc, props);
pdfDoc.Close();