Welcome, guest | Sign In | My Account | Store | Cart
from __future__ import print_function

# WildcardTextToPDF.py
# Convert the text files specified by a filename wildcard,
# like '*.txt' or 'foo*bar*baz.txt', to PDF files.
# Each text file's content goes to a separate PDF file, with the
# PDF file name being the full text file name (including the
# '.txt' part), with '.pdf' appended.
# Requires:
# - xtopdf: https://bitbucket.org/vasudevram/xtopdf
# - ReportLab: https://www.reportlab.com/ftp/reportlab-1.21.1.tar.gz
# Author: Vasudev Ram
# Copyright 2016 Vasudev Ram
# Product store: https://gumroad.com/vasudevram
# Web site: https://vasudevram.github.io
# Blog: http://jugad2.blogspot.com

import sys
import glob
from PDFWriter import PDFWriter

def usage(argv):
    sys
.stderr.write("Usage: python {} txt_filename_pattern\n".format(argv[0]))
    sys
.stderr.write("E.g. python {} foo*.txt\n".format(argv[0]))

def text_to_pdf(txt_filename):
    pw
= PDFWriter(txt_filename + '.pdf')
    pw
.setFont('Courier', 12)
    pw
.setHeader('{} converted to PDF'.format(txt_filename))
    pw
.setFooter('PDF conversion by xtopdf: https://google.com/search?q=xtopdf')

   
with open(txt_filename) as txt_fil:
       
for line in txt_fil:
            pw
.writeLine(line.strip('\n'))
        pw
.savePage()

def main():
   
if len(sys.argv) != 2:
        usage
(sys.argv)
        sys
.exit(0)

   
try:
       
for filename in glob.glob(sys.argv[1]):
           
print("Converting {} to {}".format(filename, filename + '.pdf'))
            text_to_pdf
(filename)
   
except Exception as e:
       
print("Caught Exception: type: {}, message: {}".format(\
            e
.__class__, str(e)))

if __name__ == '__main__':
    main
()

History