[英]C# add programmatically a font to PDF
我剛剛通過NuGet使用iTextSharp v5.5.9創建了一個項目,並使用了以下代碼:
const string PdfLocation = @"C:\fakepath\output.pdf";
static void Main(string[] args)
{
using (var pdfDoc = new Document())
using (var fs = new FileStream(PdfLocation, FileMode.OpenOrCreate))
using (var writer = PdfWriter.GetInstance(pdfDoc, fs))
{
pdfDoc.Open();
var font = FontFactory.GetFont(FontFactory.COURIER_BOLD);
// Doesn't use font
var paragraph = new Paragraph("LINE 1");
paragraph.Font = font;
pdfDoc.Add(paragraph);
// Doesn't use font
var paragraph2 = new Paragraph();
paragraph2.Add("LINE 2");
paragraph2.Font = font;
pdfDoc.Add(paragraph2);
// Does use font
var paragraph3 = new Paragraph();
paragraph3.Font = font;
paragraph3.Add("LINE 3"); // This must be done after setting the font
pdfDoc.Add(paragraph3);
var cb = writer.DirectContent;
pdfDoc.Close();
}
}
我發現在編寫文本之前需要先設置字體。 以下代碼輸出具有以下屬性的PDF。 我沒有從中獲得TrueType要求,但是也許這將為您設定正確的方向。
我在使用paragraph
和paragraph2
將使用默認字體Helvetica,因為在設置文本后設置字體。 順序很重要!
有關此的文檔當然需要擴展...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.