首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中保存除PDF文件的第一页之外的每一页

如何在C#中保存除PDF文件的第一页之外的每一页
EN

Stack Overflow用户
提问于 2020-03-11 15:42:12
回答 1查看 377关注 0票数 0

要求:我有一个PDF文件,在3到8页的范围内,我需要删除第一页以保存为一个PDF文件,然后将其余的页面保存在一个辅助文件中。虽然我成功地保存了第一个页面,但其他页面被保存为每个PDF文件一个页面,并且我需要一个PDF文件中的所有页面。

当前代码:

代码语言:javascript
复制
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;


        }

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-11 15:46:19

你让它这么做..。使用string.Format("ficha_{0}.pdf",i)

代码语言:javascript
复制
PdfCopy pdfCopyFicha = new PdfCopy(document, new FileStream(
    Path.Combine(@"C:\Users\Usuario\Documents\Fichaclinica\", string.Format("ficha_{0}.pdf", i)), 
FileMode.Create));

只需指定相同的文件

代码语言:javascript
复制
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()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60639703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档