【问题标题】:Edit Adobe PDF programmatically using SDK, without opening file使用 SDK 以编程方式编辑 Adob​​e PDF,无需打开文件
【发布时间】:2015-05-26 08:59:15
【问题描述】:

我可以做我想做的事,打开 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);
    }
}

问题是 Adob​​e 窗口打开并在我循环数千次时减慢所有内容。

有人知道如何将所有这些保存在代码中吗?

【问题讨论】:

标签: c# pdf adobe


【解决方案1】:
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);
    }
}

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2011-01-15
    相关资源
    最近更新 更多