我需要提取" pAnnotedFileName"中的所有注释。并将它们应用于" pOriginalFileName"并将此修改保存在新文件" pDestinationFileName"中。
当我检查vOriginalPage.GetAsArray(PdfName.ANNOTS)的结果时,我发现我的文档没有任何注释。在我执行操作后,当我重新检查vOriginalPage.GetAsArray(PdfName.ANNOTS)时,我看到该文档有信息,但是当我打开新文档时,我看不到任何信息。注解。我试图用iTextSharp做这件事。
知道我做错了什么?
我有使用的代码。
private static void CopyAnnotation(string pAnnotedFileName, string pOriginalFileName, string pDestinationFileName)
{
PdfReader vAnnotedReader = new PdfReader(pAnnotedFileName);
PdfReader vOriginalReader = new PdfReader(pOriginalFileName);
Dictionary<int, PdfArray> vAnnotations = new Dictionary<int, PdfArray>();
for (int vPageNumber = 1; vPageNumber <= vAnnotedReader.NumberOfPages; vPageNumber++)
{
PdfDictionary vPage = vAnnotedReader.GetPageN(vPageNumber);
vAnnotations.Add(vPageNumber, vPage.GetAsArray(PdfName.ANNOTS));
}
PdfStamper vStamper = new PdfStamper(vOriginalReader, new FileStream(pDestinationFileName, FileMode.Create));
for (int vPageNumber = 1; vPageNumber <= vOriginalReader.NumberOfPages; vPageNumber++)
{
PdfDictionary vOriginalPage = vOriginalReader.GetPageN(vPageNumber);
var vBeforeAnnotation = vOriginalPage.GetAsArray(PdfName.ANNOTS);
vOriginalPage.Put(PdfName.ANNOTS, vAnnotations[vPageNumber]);
var vAfterAnnotation = vOriginalPage.GetAsArray(PdfName.ANNOTS);
}
vStamper.Close();
vAnnotedReader.Close();
vOriginalReader.Close();
}
由于