我目前正在尝试使用 itextsharp 填写预定义的表单。除了添加图像之外,一切正常。这之前已经在 Adobe 的 FDF 工具包中运行过,该工具包已编译为 .NET 1.1。这不再适用于 .NET 4.0,我改用了 itextsharp。 之前添加图像的方式是通过更改预定义形式的按钮图标。这正确地旋转和缩放了图像。不幸的是,我找不到任何方法来使用 itextsharp 执行此操作。 代码是:
FdfAcX_Doc.FDFSetAP("img", 0, "path\\to\\img.pdf", 1);
(文档:http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FDFtkRef.pdf)
现在我正在尝试使用 itextsharp 并尝试手动添加图像,例如:
PdfContentByte pdfContentByte = pdfStamper.GetOverContent(1);
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(picfile);
iTextSharp.text.Rectangle imageRect = new iTextSharp.text.Rectangle(338f, 65f, 250f, 200f, 270);
img.ScaleToFit(imageRect.Width, imageRect.Height);
img.SetAbsolutePosition(65, 250);
pdfContentByte.AddImage(img);
但不幸的是,首先图像没有正确旋转,其次图像太大。我尝试了多种设置,但未能找到正确的设置。有人知道我做错了什么吗?
PDF表格可以在这里下载:http://www26.zippyshare.com/v/24914063/file.html
请帮忙,我已经在这个问题上坐了一天了,想不出更多的东西了。 谢谢!
最佳答案
您的代码示例与标题中的问题不一致。
在您的代码示例中,您将向页面内容添加图像。在您的标题中,您要求替换按钮字段中的图标。按钮字段不是内容的一部分。它们使用小部件注释进行可视化。
我希望代码看起来像这样:
AcroFields form = stamper.AcroFields;
PushbuttonField ad = form.GetNewPushbuttonFromField(buttonFieldName);
ad.Layout = PushbuttonField.LAYOUT_ICON_ONLY;
ad.ProportionalIcon = true;
ad.Image = Image.GetInstance(pathToNewImage);
form.ReplacePushbuttonField("advertisement", ad.Field);
关于c# - 如何使用 itextsharp 更改 PDF 公式的按钮图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026451/