pdfsharp - шрифт встраивает?

Сборщик "мусора" будет только работать, если система не будет испытывать давление памяти, если это действительно не должно освобождать некоторую память. Это означает, Вы никогда не можете быть уверены, когда GC будет работать.

Теперь, Предположите, что Вы - Соединение с базой данных. Если Вы позволяете GC вымыться после Вас, Вы можете быть подключены к базе данных для намного дольше, чем необходимая, вызывающая странная ситуация с загрузкой. В этом случае Вы хотите реализовать IDisposable, так, чтобы пользователь мог звонить, Располагают () или использование использования (), чтобы действительно удостовериться, что соединение закрывается как можно скорее, не имея необходимость полагаться на GC, который может работать намного позже.

Обычно IDisposable реализован на любом классе, который работает с неуправляемыми ресурсами.

6
задан TPR 12 October 2009 в 21:57
поделиться

1 ответ

Есть два способа сделать это. Для каждого шрифта, который вы хотите встроить, например:

var options = new XPdfFontOptions(PdfFontEmbedding.Always);
var font = new XFont("Times New Roman", 12, XFontStyle.Regular, options);

Затем, если вы используете шрифт, он будет встроен.

Если вы хотите, чтобы все шрифты, используемые на странице, были встроены, вы можете сделать это следующим образом:

var page = new PdfPage();
var gfx = XGraphics.FromPdfPage(page);
gfx.MFEH = PdfFontEmbedding.Automatic;

Второй подход также будет работать для любых шрифтов, используемых в коде MigraDoc.

14
ответ дан 8 December 2019 в 17:23
поделиться