我正在尝试使用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 .

这可行吗?