Archive

Posts Tagged ‘pdf’

PDF-Dateien mergen

June 27th, 2007 No comments

Mit iTextSharp lassen sich einigermassen komfortabel mehrere PDF-Dateien in eine einzige mergen.

Folgendes Skript zeigt wies geht:

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;

            PdfReader reader = new PdfReader(sourceFiles[f]);
            int n = reader.NumberOfPages;
            Document document = new Document(reader.GetPageSizeWithRotation(1));
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(destinationFile, FileMode.Create));
            document.Open();
            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage page;
            int rotation;

            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);
                }
                f++;

                if (f < sourceFiles.Length)
                {
                    reader = new PdfReader(sourceFiles[f]);
                    n = reader.NumberOfPages;
                }
            }

            document.Close();
        }
        catch (Exception ex)
        {
            Console.Error.WriteLine(ex.Message);
        }
    }
}

Tags: ,

Word-Dateien zu PDF konvertieren

June 27th, 2007 No comments

Um Word-Dateien programmatisch in PDF’s zu wandeln, gibts einige kommerzielle Lösungen. Eine günstigere, nämlich kostenlose Alternative bietet das Tool PDFCreator.

PDFCreator nistet sich als Druckertreiber in Windows ein und erlaubt so die PDF-Konvertierung verschiedenster Datentypen. Das beste daran: PDFCreator bietet in den neueren Versionen auch eine COM-Schnittstelle, womit das Tool auch elegant aus dem eigenen Code angesprochen werden kann.

Im Download von PDFCreator sind zwei Samples zur Nutzung des COM-Interfaces mit .NET (1.1 und 2.0) vorhanden. Sei noch zu erwähnen, dass es bei mir nur mit dem GPL-Download funktioniert hat.

Einziger Nachteil ist natürlich, dass für diesen Vorgang Word installiert sein muss.

Tags: ,
Sharing Buttons by Linksku