【发布时间】:2016-01-13 15:48:10
【问题描述】:
我正在使用 iTextSharp 库版本 5.5.6.0。 此文件包含可自定义的文本字段,并且有必要保留交互式文本表单字段:https://yadi.sk/i/yoUvDI9EmtVhc。 但我无法在 PdfTemplate 对象中添加图像。 现阶段c#中的代码为:
string outpath = @"D:\pdf_\output.pdf";
string inpath = @"D:\pdf_\input.pdf";
string stamp = @"D:\pdf_\img.png";
此方法不添加图像,但文本框处于活动状态。
public static void onlyInteractive()
{
using (MemoryStream os = new MemoryStream())
using (PdfReader pdfReader = new PdfReader(inpath))
//APPEND模式
using (PdfStamper stamper = new PdfStamper(pdfReader, os, '\0', true))
{
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(stamp);
image.SetAbsolutePosition(0, 0);
PdfTemplate template = PdfTemplate.CreateTemplate(stamper.Writer, image.Width, image.Height);
template.AddImage(image);
stamper.GetOverContent(1).AddTemplate(template, 150, 200, true);
os.WriteTo(new FileStream(outpath, FileMode.Create, FileAccess.ReadWrite));
}
}
这个方法的行为回到第一个。
public static void onlyImage()
{
using (Stream output = new FileStream(outpath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None))
using (PdfReader reader = new PdfReader(inpath))
using (var stamper = new PdfStamper(reader, output, '\0', true))
{
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(stamp);
image.SetAbsolutePosition(0, 0);
PdfTemplate template = PdfTemplate.CreateTemplate(stamper.Writer, image.Width, image.Height);
template.AddImage(image);
stamper.GetOverContent(1).AddTemplate(template, 150, 200, true);
}
}
【问题讨论】:
标签: pdf itext pdfstamper