txt2pdf – Ein Text zu PDF Batch Converter

txt2pdf ist ein kleiner Batch Konverter zur Konvertierung von Textdateien zu PDF. Es kann sehr hilfreich sein, wenn man Ausgaben verschiedener Programme in PDF-Dokumente konvertieren möchte.

Da Textdateien oft mit verschiedenen Codecs exportiert werden, unterstützt es die Angabe eines Codecs wie ISO-8859-1 oder UTF-8, etc.

Hier ein Beispielaufruf:

txt2pdf.exe c:\temp\test.txt c:\temp\test.pdf iso-8859-1

 

Download txt2pdf.zip

Quellcode TXT2PDF

 

Dateianhänge an PDF-Dokumente

Anhang im Adobe Readerpdftk hat neuerdings eine interessante Option namens attach_files zu bieten. Diese Option fügt beliebige Dateianhänge an PDF-Dokumente an. Dies ist z.B. sehr sinnvoll, wenn zu einer Dokumentation eines Programms gleich der Quellcode mitversendet werden soll. Der Adobe Reader kann beim Empfänger alle angehängten Dateien direkt aus dem PDF-Dokument herauslösen und auf der Festplatte ablegen.

Das Anhängen von Dateien funktioniert natürlich auch mit 3D-PDFs. So kann man z.B. originale CAD-Modelle als Dateianhang mit in die PDF-Datei einbetten.

Hier ein Beispielaufruf, welches die Dateien anhang1.zip und anhang2.doc in das Dokument Ursprungsdokument.pdf einbettet und das Resultat als beispiel_mit_dateianhaengen.pdf speichert:

pdftk.exe Ursprungsdokument.pdf attach_files anhang1.zip anhang2.doc output beispiel_mit_dateianhaengen.pdf

HTML zu PDF oder Postscript

Webseiten in eine PDF-Datei zu wandeln, ist technisch eine große Herausforderung. Unterschiedlicher könnten beide Dateiformate nicht sein. HTMLDOC versucht den Spagat und wandelt Webseiten und HTML-Dateien (auch kostenlos) in indiziertes HTML, PDF und Postscript.

Und in die andere Richtung geht es mit pdftohtml.

PDF und Postscript online ohne Browser Plugin betrachten

Wer kennt es nicht. Man möchte mit einem PC ein PDF Dokument online betrachten. Aber es ist kein Plugin wie der Adobe Reader o.ä. installiert. In der Regel kann man sich dann diese Dokumente natürlich nicht anschauen, was sehr frustrierend ist.

Eine Alternative für kluge Webmaster ist das Open Source Tool PSView. Damit können sich Besucher einer Website diese Dokumente dynamisch als Bilddateien betrachten.

Die Website von PSView verspricht:

This is an online viewer, with which you can view PDF and PostScript files as browsable images and Word documents as web pages. Given a URL on the net or a file on your computer, the viewer will try to retrieve the document, convert it and show it to you. No plugin software is required.

PDFs zusammenführen/verbinden mit Ghostscript

Dieses Ghostscript-Beispiel demonstriert, wie drei PDF Dokumente in einer vierten PDF-Datei zusammengeführt (konkateniert) werden. Es können auf diese Weise beliebig viele PDF Dokumente per Ghostscript miteinander verbunden werden.

c:\\gs8.60\\bin\\gswin32c.exe -dNOPAUSE -sDEVICE=pdfwrite 
-sOUTPUTFILE=Merged.pdf -dBATCH 1.pdf 2.pdf 3.pdf

Für Python Enthusiasten empfhielt sich der Weg über das Python Modul PyPDF.

CATDrawing zu PDF mit Python

Achtung: Dieses Script benötig die Python for Windows Extension Pywin32!

import win32com.client  
catapp = win32com.client.Dispatch('CATIA.application') 
v5doc = catapp.Documents.Open('C:\\dokumente\\Drawing1.CATDrawing')
v5doc.ExportData('c:\\out\\Drawing1.pdf', 'pdf')

PDF Dokumente stempeln mit PyPDF

Dieses Python Beispiel Script stempelt die erste Seite eines PDF Dokuments mit einer anderen PDF Datei und schreibt das Resultat in eine dritte PDF Datei. Der Stempelvorgang wird durch Überlagerung zweier PDF Dokumente erzeugt.

Achtung: Das Script benötigt das Python Modul PyPDF.

Tipp: Falls der Stempel durchsichtig aufgetragen werden soll, muss der Text der Stempel-PDF-Datei transparent erzeugt worden sein. Die Transparenz kann man in Word z.B. über die Formatierung/Eigenschaften eines Textfelds definieren-bevor der Stempel zu PDF konvertiert und mit diesem Script verwendet wird.

from pyPdf import PdfFileWriter, PdfFileReader

output = PdfFileWriter()
input1 = PdfFileReader(file("C:\\test.pdf", "rb"))

# add page 1 from input1 to output document, unchanged
output.addPage(input1.getPage(0))

# add page 4 from input1, but first add a watermark from another pdf:
page0 = input1.getPage(0)
watermark = PdfFileReader(file("c:\\stamp.pdf", "rb"))
page0.mergePage(watermark.getPage(0))
output.addPage(page0)

outputStream = file("c:\\document-output.pdf", "wb")
output.write(outputStream)
outputStream.close()