c# - 如何使用 itextsharp 更改 PDF 公式的按钮图标?

标签 c# pdf itext fdf

我目前正在尝试使用 itextsharp 填写预定义的表单。除了添加图像之外,一切正常。这之前已经在 Adob​​e 的 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/

相关文章:

使用 SHA256withRSA 算法验证 WSO2 API 网关 JWT 签名的 C# .NET 代码

python - 是否有适用于 Windows 的 Python PDF 元数据编写库?

c++ - 如何使用 Qt/C++ 打开和显示 PDF 文件?

iphone - 有没有办法以编程方式滚动到 UIWebView 中的 PDF 页面?

java - IText 将 pdf 中的标题居中

c# - 将 MVVM 命令绑定(bind)到 UWP 中的 TimePicker 控件

c# - 定界字符串解析?

C# 控制台不透明度/透明度

java - 使用 iText 将 TIFF 转换为 PDF 的多线程方法

java - 如何追踪 iText api 升级问题?