【问题标题】:Error merging two PDF files using PDFsharp使用 PDFsharp 合并两个 PDF 文件时出错
【发布时间】:2015-12-21 18:33:02
【问题描述】:

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

非静态字段、方法或属性需要对象引用 它涉及 CopyPages(one, outPdf); CopyPages(two, outPdf);

如果我将其设为静态 void,它将运行,但控制台会显示一条错误消息,指出它“无法保存没有页面的 PDF”

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]);
    }
}

【问题讨论】:

    标签: c# .net pdf pdfsharp


    【解决方案1】:

    你的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"); 不打开/读取文件,它只是准备创建一个具有该名称的新文件。

    【讨论】:

    • 我羞愧地低下了头。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    相关资源
    最近更新 更多