mirror of
https://github.com/johnwhitington/cpdf-source.git
synced 2025-02-16 11:50:54 +01:00
update python splits
This commit is contained in:
parent
3988de1cea
commit
0f52366328
@ -79,9 +79,7 @@ useNone useOutlines useThumbs useOC useAttachments
|
|||||||
Page label styles:
|
Page label styles:
|
||||||
|
|
||||||
decimalArabic uppercaseRoman lowercaseRoman uppercaseLetters lowercaseLetters
|
decimalArabic uppercaseRoman lowercaseRoman uppercaseLetters lowercaseLetters
|
||||||
|
"""
|
||||||
|
|
||||||
# CHAPTER 0. Preliminaries
|
|
||||||
|
|
||||||
class Pdf:
|
class Pdf:
|
||||||
"""The type of PDF documents."""
|
"""The type of PDF documents."""
|
||||||
|
@ -25,6 +25,16 @@ def blankDocument(w, h, pages):
|
|||||||
with pages of the given width (in points), height (in points), and number
|
with pages of the given width (in points), height (in points), and number
|
||||||
of pages."""
|
of pages."""
|
||||||
|
|
||||||
|
def textToPDF(w, h, font, fontsize, filename):
|
||||||
|
"""textToPDF(w, h, font, fontsize, filename) typesets a UTF8 text file
|
||||||
|
ragged right on a page of size w * h in points in the given font and font
|
||||||
|
size."""
|
||||||
|
|
||||||
|
def textToPDFPaper(papersize, font, fontsize, filename):
|
||||||
|
"""textToPDF(papersize font, fontsize, filename) typesets a UTF8 text file
|
||||||
|
ragged right on a page of the given size in the given font and font
|
||||||
|
size."""
|
||||||
|
|
||||||
def blankDocumentPaper(papersize, pages):
|
def blankDocumentPaper(papersize, pages):
|
||||||
"""Create a blank document with pages of the given paper size, and number
|
"""Create a blank document with pages of the given paper size, and number
|
||||||
of pages. """
|
of pages. """
|
||||||
@ -48,9 +58,9 @@ def inOfPt(i):
|
|||||||
"""Convert a figure in points to inches (72 points to 1 inch)."""
|
"""Convert a figure in points to inches (72 points to 1 inch)."""
|
||||||
|
|
||||||
def parsePagespec(pdf, pagespec):
|
def parsePagespec(pdf, pagespec):
|
||||||
"""Parse a page specification such as "1-3,8-end" to a range with reference to
|
"""Parse a page specification such as "1-3,8-end" to a range with reference
|
||||||
a given PDF (the PDF is supplied so that page ranges which reference pages
|
to a given PDF (the PDF is supplied so that page ranges which reference
|
||||||
which do not exist are rejected)."""
|
pages which do not exist are rejected)."""
|
||||||
|
|
||||||
def validatePagespec(pagespec):
|
def validatePagespec(pagespec):
|
||||||
"""Validate a page specification, returning True or False, so far as is
|
"""Validate a page specification, returning True or False, so far as is
|
||||||
@ -95,6 +105,7 @@ def rangeLength(r):
|
|||||||
|
|
||||||
def rangeGet(r, n):
|
def rangeGet(r, n):
|
||||||
"""Get the page number at position n in a range, where
|
"""Get the page number at position n in a range, where
|
||||||
|
n runs from 0 to rangeLength - 1."""
|
||||||
|
|
||||||
def rangeAdd(r, p):
|
def rangeAdd(r, p):
|
||||||
"""Add the page to a range, if it is not already
|
"""Add the page to a range, if it is not already
|
||||||
@ -105,9 +116,6 @@ def isInRange(r, p):
|
|||||||
|
|
||||||
def pages(pdf):
|
def pages(pdf):
|
||||||
"""Return the number of pages in a PDF."""
|
"""Return the number of pages in a PDF."""
|
||||||
r = libc.pycpdf_pages(pdf.pdf)
|
|
||||||
checkerror()
|
|
||||||
return r
|
|
||||||
|
|
||||||
def pagesFast(userpw, filename):
|
def pagesFast(userpw, filename):
|
||||||
"""Return the number of pages in a given
|
"""Return the number of pages in a given
|
||||||
@ -129,16 +137,12 @@ def toFileExt(pdf, filename, linearize, make_id, preserve_objstm,
|
|||||||
will be compressed (what we usually want). WARNING: the pdf argument will
|
will be compressed (what we usually want). WARNING: the pdf argument will
|
||||||
be invalid after this call and should not be used again."""
|
be invalid after this call and should not be used again."""
|
||||||
|
|
||||||
|
|
||||||
def toMemory(pdf, linearize, make_id):
|
def toMemory(pdf, linearize, make_id):
|
||||||
"""Write a file to memory, returning the buffer as a byte array of type
|
"""Write a file to memory, returning the buffer as a byte array of type
|
||||||
bytes."""
|
bytes."""
|
||||||
|
|
||||||
def isEncrypted(pdf):
|
def isEncrypted(pdf):
|
||||||
"""Returns True if a documented is encrypted, False otherwise."""
|
"""Returns True if a documented is encrypted, False otherwise."""
|
||||||
r = libc.pycpdf_isEncrypted(pdf.pdf)
|
|
||||||
checkerror()
|
|
||||||
return r
|
|
||||||
|
|
||||||
def toFileEncrypted(pdf, method, permissions, ownerpw, userpw, linearize,
|
def toFileEncrypted(pdf, method, permissions, ownerpw, userpw, linearize,
|
||||||
makeid, filename):
|
makeid, filename):
|
||||||
|
@ -7,3 +7,14 @@ def getBookmarks(pdf):
|
|||||||
def setBookmarks(pdf, marks):
|
def setBookmarks(pdf, marks):
|
||||||
"""Set the bookmarks for a PDF as a list of tuples of the form:
|
"""Set the bookmarks for a PDF as a list of tuples of the form:
|
||||||
(level : int, page : int, text : string, openstatus : bool)"""
|
(level : int, page : int, text : string, openstatus : bool)"""
|
||||||
|
|
||||||
|
def getBookmarksJSON(pdf):
|
||||||
|
"""Get the bookmarks in JSON format."""
|
||||||
|
|
||||||
|
def setBookmarksJSON(pdf, data):
|
||||||
|
"""setBookmarksJSON(pdf, data) sets the bookmarks from JSON bookmark data."""
|
||||||
|
|
||||||
|
def tableOfContents(pdf, font, fontsize, title, bookmark):
|
||||||
|
"""tableOfContents(pdf, font, fontsize, title, bookmark) typesets a table
|
||||||
|
of contents from existing bookmarks and prepends it to the document. If
|
||||||
|
bookmark is set, the table of contents gets its own bookmark."""
|
||||||
|
@ -93,7 +93,6 @@ def addTextSimple(pdf, r, text, p, font, size):
|
|||||||
|
|
||||||
def removeText(pdf, r):
|
def removeText(pdf, r):
|
||||||
"""Remove any text added by libcpdf from the given pages."""
|
"""Remove any text added by libcpdf from the given pages."""
|
||||||
r = range_of_list(r)
|
|
||||||
|
|
||||||
def textWidth(font, string):
|
def textWidth(font, string):
|
||||||
"""Return the width of a given string in the given font in thousandths of a
|
"""Return the width of a given string in the given font in thousandths of a
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# CHAPTER 9. Mulitpage facilities
|
# CHAPTER 9. Multipage facilities
|
||||||
|
|
||||||
def twoUp(pdf):
|
def twoUp(pdf):
|
||||||
"""Impose a document two up by retaining the existing page
|
"""Impose a document two up by retaining the existing page
|
||||||
@ -8,6 +8,14 @@ def twoUpStack(pdf):
|
|||||||
"""Impose a document two up by doubling the page size,
|
"""Impose a document two up by doubling the page size,
|
||||||
to fit two pages on one."""
|
to fit two pages on one."""
|
||||||
|
|
||||||
|
def impose(pdf, x, y, fit, columns, rtl, btt, center, margin, spacing, linewidth):
|
||||||
|
"""impose(pdf, x, y, fit, columns, rtl, btt, center, margin, spacing,
|
||||||
|
linewidth) imposes a PDF. There are two modes: imposing x * y, or imposing
|
||||||
|
to fit a page of size x * y. This is controlled by fit. Columns imposes by
|
||||||
|
columns rather than rows. rtl is right-to-left, btt bottom-to-top. Center
|
||||||
|
is unused for now. Margin is the margin around the output, spacing the
|
||||||
|
spacing between imposed inputs."""
|
||||||
|
|
||||||
def padBefore(pdf, r):
|
def padBefore(pdf, r):
|
||||||
"""Adds a blank page before each page in the given range."""
|
"""Adds a blank page before each page in the given range."""
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
# CHAPTER 10. Annotations
|
# CHAPTER 10. Annotations
|
||||||
|
|
||||||
# Not in the library version.
|
def annotationsJSON(pdf):
|
||||||
|
"""Get the annotations in JSON format."""
|
||||||
|
@ -47,7 +47,7 @@ def getKeywordsXMP(pdf):
|
|||||||
"""Return the XMP keywords of a document."""
|
"""Return the XMP keywords of a document."""
|
||||||
|
|
||||||
def getCreatorXMP(pdf):
|
def getCreatorXMP(pdf):
|
||||||
"""Returs the XMP creator of a document."""
|
"""Return the XMP creator of a document."""
|
||||||
|
|
||||||
def getProducerXMP(pdf):
|
def getProducerXMP(pdf):
|
||||||
"""Return the XMP producer of a document."""
|
"""Return the XMP producer of a document."""
|
||||||
@ -210,8 +210,8 @@ def displayDocTitle(pdf, flag):
|
|||||||
"""Set the display document title flag."""
|
"""Set the display document title flag."""
|
||||||
|
|
||||||
def openAtPage(pdf, fitflag, pagenumber):
|
def openAtPage(pdf, fitflag, pagenumber):
|
||||||
"""Set the PDF to open, possibly with zoom-to-fit, at the given page
|
"""Set the PDF to open, possibly with zoom-to-fit, at the given page number.
|
||||||
number. """
|
"""
|
||||||
|
|
||||||
def setMetadataFromFile(pdf, filename):
|
def setMetadataFromFile(pdf, filename):
|
||||||
"""Set the XMP metadata of a document, given a file name."""
|
"""Set the XMP metadata of a document, given a file name."""
|
||||||
|
@ -1,6 +1,17 @@
|
|||||||
# CHAPTER 15. PDF and JSON
|
# CHAPTER 15. PDF and JSON
|
||||||
|
|
||||||
def outputJSON(filename, parse_content, no_stream_data, pdf):
|
def outputJSON(filename, parse_content, no_stream_data, decompress_streams, pdf):
|
||||||
"""Output a PDF in JSON format to the given filename. If parse_content is
|
"""Output a PDF in JSON format to the given filename. If parse_content is
|
||||||
True, page content is parsed. If no_stream_data is True, all stream data is
|
True, page content is parsed. If decompress_streams is True, streams are
|
||||||
suppressed entirely."""
|
decompressed. If no_stream_data is True, all stream data is suppressed
|
||||||
|
entirely."""
|
||||||
|
|
||||||
|
def outputJSONMemory(pdf, parse_content, no_stream_data, decompress_streams):
|
||||||
|
"""outputJSONMemory(pdf, parse_content, no_stream_data, decompress_stream)
|
||||||
|
is like outputJSON, but it write to a buffer in memory)."""
|
||||||
|
|
||||||
|
def fromJSON(filename):
|
||||||
|
"""Load a PDF from a JSON file given its filename."""
|
||||||
|
|
||||||
|
def fromJSONMemory(data):
|
||||||
|
""" Load a PDF from JSON data in memory."""
|
||||||
|
@ -37,5 +37,21 @@ def removeDictEntry(pdf, key):
|
|||||||
"""Remove any dictionary entry with the given
|
"""Remove any dictionary entry with the given
|
||||||
key anywhere in the document."""
|
key anywhere in the document."""
|
||||||
|
|
||||||
|
def removeDictEntrySearch(pdf, key, searchterm):
|
||||||
|
"""Remove any dictionary entry with the given
|
||||||
|
key anywhere in the document, if its value matches the given search term."""
|
||||||
|
|
||||||
|
def replaceDictEntry(pdf, key, newvalue):
|
||||||
|
"""Replace any dictionary entry with the given
|
||||||
|
key anywhere in the document using the new value given."""
|
||||||
|
|
||||||
|
def replaceDictEntrySearch(pdf, key, newvalue, searchterm):
|
||||||
|
"""Replace any dictionary entry with the given key anywhere in the
|
||||||
|
document, if its value matches the given search term, with the new value
|
||||||
|
given."""
|
||||||
|
|
||||||
|
def getDictEntries(pdf, key):
|
||||||
|
"""Return JSON of any dict entries with the given key."""
|
||||||
|
|
||||||
def removeClipping(pdf, r):
|
def removeClipping(pdf, r):
|
||||||
"""Remove all clipping from pages in the given range"""
|
"""Remove all clipping from pages in the given range"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user