【发布时间】:2016-12-08 00:53:45
【问题描述】:
我一直在使用 PDFSharp 使用 AcroForm 字段填写 PDF。我可以使用一些类似的代码来设置表单字段的值:
PdfTextField txtField = (PdfTextField)oldPDF.AcroForm.Fields["fieldname"];
txtField.Value = new PdfString("my form value");
我遇到的问题是当我尝试更改将进入该字段的文本的字体时。我可以访问该字段的字体属性,它让我可以这样设置:
txtField.Font = new XFont("Courier New", 16, XFontStyle.Bold);
但是,当我打开保存的 PDF 时,它会将字体默认为另一种字体。我也尝试过使用其他字体,例如“Arial”或“Helvetica”,以及不同的大小,但似乎没有任何效果。
也很有趣,当我在使用 Foxit PhantomPDF 对其进行更改之前打开 PDF 时,我可以检查表单字段并查看字体设置为 Times New Roman
填写 PDF 并保存后,查看字段,无论我尝试在代码中设置什么字体,它都会显示设置为 Helvetica 10。
如果我使用 Foxit PhantomPDF 手动编辑表单字段并以这种方式更改字体,它将保持不变,但我想在代码中进行。这可能吗?
【问题讨论】: