我正在尝试使用iTextSharp填写PDF表单,但是因为需要斯堪的纳维亚字符(åäöøæ等)而被诅咒我不能使用内置的Helvetica。最接近的是使用Arial,但是如果我嵌入Arial,我会被一个比原始文件大6倍的PDF模板卡住。
所以,我的问题是,有没有办法在创建模板时使用Helvetica(为了保持大小不变),然后在填写PDF时在代码中覆盖它?
现在我有这个:
PdfStamper pdfStamper = new PdfStamper(new PdfReader(templateFile), new FileStream(fileName, FileMode.Create));
AcroFields acroFields = pdfStamper.AcroFields;
acroFields.SetField("txtDocumentId", dnData.DocumentId);
acroFields.SetField("txtName", dnData.Name);
pdfStamper.FormFlattening = true;
pdfStamper.Close();
我更喜欢为字段定义一个非嵌入字体(Arial),因为所有最终用户都会在他们的机器上安装Arial。
这可行吗?