要求:我有一个PDF文件,在3到8页的范围内,我需要删除第一页以保存为一个PDF文件,然后将其余的页面保存在一个辅助文件中。虽然我成功地保存了第一个页面,但其他页面被保存为每个PDF文件一个页面,并且我需要一个PDF文件中的所有页面。
当前代码:
using System;
using iTextSharp.text.pdf;
using iTextSharp.text;
using System.IO;
namespace Dividir_PDF
{
class Program
{
static void Main(string[] args)
{
extercaopdf();
MergePdf(, @"C:\Users\Usuario\Documents\Fichaclinica\");
Console.WriteLine("Done");
Console.ReadKey();
}
static void extercaopdf()
{
PdfReader pdfReader = new PdfReader(@"C:\Users\Usuario\Documents\ProntuarioCompleto\aso-mesclado.pdf");
Document document = new Document();
if (pdfReader.NumberOfPages > 0)
{
// Here it saves the first page as a single PDF File.
PdfCopy pdfCopyASO = new PdfCopy(document, new FileStream(Path.Combine(@"C:\Users\Usuario\Documents\ASO\", string.Format("pagina_{0}.pdf", 1)), FileMode.Create));
document.Open();
pdfCopyASO.AddPage(pdfCopyASO.GetImportedPage(pdfReader, 1));
// Here it saves all pages as individual PDF files, instead of a single one with all pages
for (int i = 2; i <= pdfReader.NumberOfPages; i++)
{
PdfCopy pdfCopyFicha = new PdfCopy(document, new FileStream(Path.Combine(@"C:\Users\Usuario\Documents\Fichaclinica\", string.Format("ficha_{0}.pdf", i)), FileMode.Create));
document.Open();
pdfCopyFicha.AddPage(pdfCopyFicha.GetImportedPage(pdfReader, i));
}
document.Close();
}
else return;
}
}
}发布于 2020-03-11 15:46:19
你让它这么做..。使用string.Format("ficha_{0}.pdf",i)
PdfCopy pdfCopyFicha = new PdfCopy(document, new FileStream(
Path.Combine(@"C:\Users\Usuario\Documents\Fichaclinica\", string.Format("ficha_{0}.pdf", i)),
FileMode.Create));只需指定相同的文件
PdfCopy pdfCopyFicha = new PdfCopy(document, new FileStream(Path.Combine(@"C:\Users\Usuario\Documents\Fichaclinica\", "ficha_rest.pdf"), FileMode.Create));
document.Open();
for (int i = 2; i <= pdfReader.NumberOfPages; i++)
{
pdfCopyFicha.AddPage(pdfCopyFicha.GetImportedPage(pdfReader, i));
}
document.Close()https://stackoverflow.com/questions/60639703
复制相似问题