Commit for development environment setup
This commit is contained in:
72
PROMS/PDFCompare/MergePDFs/frmMergePDFs.cs
Normal file
72
PROMS/PDFCompare/MergePDFs/frmMergePDFs.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using iTextSharp.text.pdf;
|
||||
using iTextSharp.text;
|
||||
|
||||
namespace MergePDFs
|
||||
{
|
||||
public partial class frmMergePDFs : Form
|
||||
{
|
||||
public string Status
|
||||
{
|
||||
get { return tsslStatus.Text; }
|
||||
set { tsslStatus.Text = value; Application.DoEvents(); }
|
||||
}
|
||||
public frmMergePDFs()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void btnFolder_Click(object sender, EventArgs e)
|
||||
{
|
||||
fbd.SelectedPath = tbFolder.Text;
|
||||
if (fbd.ShowDialog() == DialogResult.OK)
|
||||
tbFolder.Text = fbd.SelectedPath;
|
||||
}
|
||||
private void btnMerge_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (sfd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Document doc = new Document();
|
||||
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(sfd.FileName, FileMode.Create));
|
||||
//writer.PageEvent = new MyPageHelper("Merge2", new Color(System.Drawing.Color.CornflowerBlue));
|
||||
doc.Open();
|
||||
PdfContentByte canvas = writer.DirectContent;
|
||||
DirectoryInfo pdfFolder = new DirectoryInfo(tbFolder.Text);
|
||||
FileInfo[] myFiles = pdfFolder.GetFiles("*.pdf");
|
||||
foreach (FileInfo myFile in myFiles)
|
||||
{
|
||||
PdfReader reader = new PdfReader(myFile.FullName);
|
||||
int numPages = reader.NumberOfPages;
|
||||
int currentPageNumber = 0;
|
||||
PdfOutline outline = null;
|
||||
do
|
||||
{
|
||||
currentPageNumber += 1;
|
||||
Status = string.Format("Processing {0} page {1}", myFile.Name, currentPageNumber);
|
||||
doc.SetPageSize(PageSize.LETTER);
|
||||
doc.NewPage();
|
||||
PdfImportedPage page = writer.GetImportedPage(reader, currentPageNumber);
|
||||
PdfDestination dest = new PdfDestination(PdfDestination.FIT);
|
||||
if (currentPageNumber == 1)
|
||||
outline = new PdfOutline(canvas.RootOutline, dest, myFile.Name, false);
|
||||
else
|
||||
new PdfOutline(outline, dest, "Page " + currentPageNumber.ToString(), false);
|
||||
canvas.AddTemplate(page, 0, 0);
|
||||
//DrawOutlines(canvas);
|
||||
} while (currentPageNumber < numPages);
|
||||
}
|
||||
doc.Close();
|
||||
if (MessageBox.Show("Do you want to open the merged file?", "Merging Complete", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
System.Diagnostics.Process.Start(sfd.FileName);
|
||||
}
|
||||
Status = "Processing Complete";
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user