使用 PDFsharp 合并两个 PDF 文件时出错

Error merging two PDF files using PDFsharp

我在合并两个文件时遇到问题。如果我尝试在单独的 void 函数中使用 AddPage(from.Pages[i]);,我会得到

An object reference is required for the non-static field, method, or property It relates to CopyPages(one, outPdf); CopyPages(two, outPdf);

如果我将其设置为 static void 它将 运行 但控制台显示一条错误,指出它 "can not save a PDF with no pages"

static void Main(string[] args)
{

    PdfDocument one = new PdfDocument("1.pdf");
    PdfDocument two = new PdfDocument("2.pdf");
    PdfDocument outPdf = new PdfDocument();
    {
        CopyPages(one, outPdf);
        CopyPages(two, outPdf);
        outPdf.Save(out.pdf);
    }

}

void CopyPages(PdfDocument from, PdfDocument to)
{
    for (int i = 0; i < from.PageCount; i++)
    {
        to.AddPage(from.Pages[i]);
    }
}

你的 one 是一个空的 PdfDocument,你的 two 是一个空的 PdfDocument,for 循环什么都不做,outPdf 是一个空的 PdfDocument。

一如既往,电脑会按照你的吩咐去做。如果您在调试器中单步执行代码,您可以很容易地看到这一点。

您必须使用 PdfDocument inputDocument = PdfReader.Open(file, PdfDocumentOpenMode.Import); 之类的工具才能打开要导入的 PDF 文件。

另请参阅:
http://www.pdfsharp.net/wiki/ConcatenateDocuments-sample.ashx

new PdfDocument("1.pdf"); 不是 open/read 文件,它只是准备创建一个具有该名称的新文件。