def pdf_fill(orig_pdf, new_pdf, vals): t0 = time.time() rd = PdfReader(orig_pdf) st = PdfStamper(rd, FileOutputStream(new_pdf)) font = BaseFont.createFont("Garuda.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED) form = st.getAcroFields() for k, v in vals.items(): try: form.setFieldProperty(k, "textfont", font, None) form.setField(k, v) except Exception, e: raise Exception("Field %s: %s" % (k, str(e)))
def pdf_fill(orig_pdf, new_pdf, vals): #print "pdf_fill",orig_pdf,new_pdf,vals t0 = time.time() #print orig_pdf rd = PdfReader(orig_pdf) #print new_pdf #print t0 st = PdfStamper(rd, FileOutputStream(new_pdf)) font = BaseFont.createFont("/usr/share/fonts/truetype/thai/Garuda.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED) form = st.getAcroFields() for k, v in vals.items(): try: form.setFieldProperty(k, "textfont", font, None) form.setField(k, v.decode('utf-8')) except Exception, e: raise Exception("Field %s: %s" % (k, str(e)))
from java.io import FileOutputStream from java.util import ArrayList import sys # This Python file is a straight translation of the Concatenate example if len(sys.argv) < 3: print 'Usage:', sys.argv[0], 'source(s).pdf...', 'target.pdf' sys.exit(1) copy = None all_bookmarks = ArrayList() page_offset = 0 for file in sys.argv[1:len(sys.argv) - 1]: reader = PdfReader(file) reader.consolidateNamedDestinations() bookmarks = SimpleBookmark.getBookmark(reader) if bookmarks != None: if page_offset != 0: SimpleBookmark.shiftPageNumbers(bookmarks, \ page_offset, None) all_bookmarks.add(bookmarks) page_count = reader.getNumberOfPages() page_offset += page_offset if copy == None: document = Document(reader.getPageSizeWithRotation(1)) output = FileOutputStream(sys.argv[len(sys.argv) - 1]) copy = PdfCopy(document, output)
#!/bin/sh ''''exec "$(dirname "$0")"/ImageJ.sh --jython "$0" "$@" # (call again with fiji)''' from com.itextpdf.text.pdf import PdfReader, PdfName, PdfNumber, PdfStamper from java.io import FileOutputStream import sys if len(sys.argv) != 3: print 'Usage:', sys.argv[0], 'source.pdf', 'target.pdf' sys.exit(1) reader = PdfReader(sys.argv[1]) for k in range(0, reader.getNumberOfPages()): reader.getPageN(k + 1).put(PdfName.ROTATE, PdfNumber(90)) print "rotated", k stamper = PdfStamper(reader, FileOutputStream(sys.argv[2])) stamper.close()