PDFSharp - Incorporação de fontes?
-
21-09-2019 - |
Pergunta
Recebo um arquivo que tenha outra fonte de idioma. Eles não podem baixar a fonte, então querem que eu a incorpore no PDF.
Agora, eu só tenho leitor de PDF, então não posso editar ou criar um arquivo PDF. Então eu decidi fazer isso rapidamente no C#.NET usando a biblioteca PDFSharp, mas não consigo descobrir como incorporar fontes usando o PDFSharp?!
Além disso, é apenas um arquivo que eu tenho que processar; portanto, se você conhece uma maneira de fazê -lo manualmente, isso também seria ótimo.
Solução
Existem duas maneiras de fazer isso. Para cada fonte que você deseja incorporar assim:
var options = new XPdfFontOptions(PdfFontEmbedding.Always);
var font = new XFont("Times New Roman", 12, XFontStyle.Regular, options);
Então, se você usar a fonte, ela será incorporada.
Se você deseja que todas as fontes usem em uma página a ser incorporada, você pode fazer assim:
var page = new PdfPage();
var gfx = XGraphics.FromPdfPage(page);
gfx.MFEH = PdfFontEmbedding.Automatic;
A segunda abordagem também funcionará para quaisquer fontes usadas no código migradoc.