zoukankan      html  css  js  c++  java
  • Merge PDF File using itextsharp library

    using System;
    using System.IO;
    using iTextSharp.text;
    using iTextSharp.text.pdf;
    public class PdfMerge
    {
    public static void MergeFiles(string destinationFile, string[] sourceFiles)
    {
    try
    {
    int f = 0;
    // we create a reader for a certain document
    PdfReader reader = new PdfReader(sourceFiles[f]);
    // we retrieve the total number of pages
    int n = reader.NumberOfPages;
    //Console.WriteLine("There are " + n + " pages in the original file.");
    // step 1: creation of a document-object
    Document document = new Document(reader.GetPageSizeWithRotation(1));
    // step 2: we create a writer that listens to the document
    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(destinationFile, FileMode.Create));
    // step 3: we open the document
    document.Open();
    PdfContentByte cb = writer.DirectContent;
    PdfImportedPage page;
    int rotation;
    // step 4: we add content
    while (f < sourceFiles.Length)
    {
    int i = 0;
    while (i < n)
    {
    i++;
    document.SetPageSize(reader.GetPageSizeWithRotation(i));
    document.NewPage();
    page = writer.GetImportedPage(reader, i);
    rotation = reader.GetPageRotation(i);
    if (rotation == 90 || rotation == 270)
    {
    cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
    }
    else
    {
    cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
    }
    //Console.WriteLine("Processed page " + i);
    }
    f++;
    if (f < sourceFiles.Length)
    {
    reader = new PdfReader(sourceFiles[f]);
    // we retrieve the total number of pages
    n = reader.NumberOfPages;
    //Console.WriteLine("There are " + n + " pages in the original file.");
    }
    }
    // step 5: we close the document
    document.Close();
    }
    catch(Exception e)
    {
    string strOb = e.Message;
    }
    }

    public int CountPageNo(string strFileName)
    {
    // we create a reader for a certain document
    PdfReader reader = new PdfReader(strFileName);
    // we retrieve the total number of pages
    return reader.NumberOfPages;
    }
    }
  • 相关阅读:
    vagrant 入门3
    vagrant 入门4
    vagrant 入门2
    Map、Debug追踪
    Comparator比较器 、Comparable接口
    File类
    Lambda表达式、函数式编程思想概述
    异常--异常体系、异常的处理、异常的捕获、finally语句块和自定义异常
    List集合、Set集合、Collection集合工具类
    数据结构---栈、队列、数组、链表和红黑树
  • 原文地址:https://www.cnblogs.com/top5/p/2875709.html
Copyright © 2011-2022 走看看