C# 使用iTextSharp制作两个相同的PDF
我想克隆一个pdf,并在复制过程中或复制后的某个时间对文档进行轻微更改 我设法做到了这一点,但我试图复制所有的元数据,表单字段,字段等 我将如何使用iTextSharp做到这一点C# 使用iTextSharp制作两个相同的PDF,c#,pdf,itext,C#,Pdf,Itext,我想克隆一个pdf,并在复制过程中或复制后的某个时间对文档进行轻微更改 我设法做到了这一点,但我试图复制所有的元数据,表单字段,字段等 我将如何使用iTextSharp做到这一点 Document document = new Document(); FileStream fs = new FileStream(OutputFile, FileMode.Create, FileAccess.Write, FileShare.None) PdfCopy copy = new PdfCopy(do
Document document = new Document();
FileStream fs = new FileStream(OutputFile, FileMode.Create, FileAccess.Write, FileShare.None)
PdfCopy copy = new PdfCopy(document, fs);
document.Open();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
PdfImportedPage importedPage = copy.GetImportedPage(reader, i);
copy.AddPage(importedPage);
}
copy.Outlines = SimpleBookmark.GetBookmark(reader);
fs.Flush();
PdfCopyFields copyf = new PdfCopyFields(fs);
Document Document=新文档();
FileStream fs=newfilestream(OutputFile、FileMode.Create、FileAccess.Write、FileShare.None)
PdfCopy副本=新的PdfCopy(文件,fs);
document.Open();
对于(int i=1;i您不能使用iTextSharp创建相同的字节副本。您可以使用System.IO.File.Copy创建相同的副本
然后,您可以使用iTextSharp自由打开它,对副本进行进一步调整。您可以使用基于PdfCopy
的解决方案
但是,对于您的任务,即获取单个PDF并对其应用一些更改,适当的解决方案是基于PdfStamper
的。该解决方案如下所示:
PdfReader reader = ...;
[...apply changes using PdfReader methods...]
FileStream fs = new FileStream(OutputFile, FileMode.Create, FileAccess.Write, FileShare.None)
PdfStamper stamper = new PdfStamper(reader, fs);
[...apply changes using PdfStamper methods...]
stamper.Close();
可能是一个愚蠢的评论,但是复制pdf文件怎么样?呵呵..不,我想对文档做一些轻微的更改。那么,你不能复制文件,然后对其进行更改吗(例如)?