合并两个文件时遇到问题。如果我尝试将AddPage(from.Pages[i]);
放在一个单独的void函数中,我会得到
非静态字段,方法或属性需要对象引用 它涉及到
CopyPages(one, outPdf); CopyPages(two, outPdf);
如果我将其设为静态空白,它将运行但控制台显示错误,指出“无法保存没有页面的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]);
}
}
答案 0 :(得分: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");
无法打开/读取文件,它只是准备创建一个具有该名称的新文件。