使用 SDK 以编程方式编辑 Adobe PDF,无需打开文件
Edit Adobe PDF programmatically using SDK, without opening file
我可以做我想做的,即打开 2 个 PDF,将第一个合并到第二个,然后保存。
AcroAVDoc avFrom = new AcroAVDocClass();
AcroAVDoc avTo = new AcroAVDocClass();
AcroPDDoc pdFrom;
AcroPDDoc pdTo;
if (avFrom.Open (fileinfo.FullName, ""))
{
pdFrom = (AcroPDDoc)avFrom.GetPDDoc();
if (avTo.Open(combinedFullPath, ""))
{
pdTo = (AcroPDDoc)avTo.GetPDDoc();
pdTo.InsertPages(pdTo.GetNumPages() - 1, pdFrom, 0, pdFrom.GetNumPages(), 0);
pdTo.Save(1, combinedFullPath);
Adobe.CloseAllDocs();
}
else
{
Debug.Write("Failed to open combined pdf to merge with: " + CaseNo);
}
}
问题是 Adobe window 打开并减慢了一切,因为我循环了数千次。
有谁知道如何将所有这些保存在代码中?
AcroPDDoc pdFrom = new AcroPDDoc();
AcroPDDoc pdTo = new AcroPDDoc();
if (pdFrom.Open (fileinfo.FullName))
{
if (pdTo.Open(combinedFullPath))
{
pdTo.InsertPages(pdTo.GetNumPages() - 1, pdFrom, 0, pdFrom.GetNumPages(), 0);
pdTo.Save(1, combinedFullPath);
pdFrom.Close();
pdTo.Close();
}
else
{
pdFrom.Close();
Debug.Write("Failed to open combined pdf to merge with: " + CaseNo);
}
}
}
我可以做我想做的,即打开 2 个 PDF,将第一个合并到第二个,然后保存。
AcroAVDoc avFrom = new AcroAVDocClass();
AcroAVDoc avTo = new AcroAVDocClass();
AcroPDDoc pdFrom;
AcroPDDoc pdTo;
if (avFrom.Open (fileinfo.FullName, ""))
{
pdFrom = (AcroPDDoc)avFrom.GetPDDoc();
if (avTo.Open(combinedFullPath, ""))
{
pdTo = (AcroPDDoc)avTo.GetPDDoc();
pdTo.InsertPages(pdTo.GetNumPages() - 1, pdFrom, 0, pdFrom.GetNumPages(), 0);
pdTo.Save(1, combinedFullPath);
Adobe.CloseAllDocs();
}
else
{
Debug.Write("Failed to open combined pdf to merge with: " + CaseNo);
}
}
问题是 Adobe window 打开并减慢了一切,因为我循环了数千次。
有谁知道如何将所有这些保存在代码中?
AcroPDDoc pdFrom = new AcroPDDoc();
AcroPDDoc pdTo = new AcroPDDoc();
if (pdFrom.Open (fileinfo.FullName))
{
if (pdTo.Open(combinedFullPath))
{
pdTo.InsertPages(pdTo.GetNumPages() - 1, pdFrom, 0, pdFrom.GetNumPages(), 0);
pdTo.Save(1, combinedFullPath);
pdFrom.Close();
pdTo.Close();
}
else
{
pdFrom.Close();
Debug.Write("Failed to open combined pdf to merge with: " + CaseNo);
}
}
}