cpdf-source/docsplits/dotnetsplits/c02.tex

267 lines
6.6 KiB
TeX

CHAPTER 1. Basics
Cpdf.fromFile(String, String)
Loads a PDF file from a given file. Supply a user password (possibly blank) in
case the file is encrypted. It won't be decrypted, but sometimes the password
is needed just to load the file.
Cpdf.fromFileLazy(String, String)
Loads a PDF from a file, doing only minimal parsing. The objects will be read
and parsed when they are actually needed. Use this when the whole file won't be
required. Also supply a user password (possibly blank) in case the file is
encrypted. It won't be decrypted, but sometimes the password is needed just to
load the file.
Cpdf.fromMemory(Byte[], String)
Loads a file from memory given any user password.
Cpdf.fromMemoryLazy(IntPtr, Int32, String)
Loads a file from memory, given a pointer and a length, and the user password,
but lazily like fromFileLazy. The caller must use AllocHGlobal / Marshal.Copy /
FreeHGlobal itself. It must not free the memory until the PDF is also gone.
Cpdf.startEnumeratePDFs
Cpdf.enumeratePDFsKey(Int32)
Cpdf.enumeratePDFsInfo(Int32)
Cpdf.endEnumeratePDFs
To enumerate the list of currently allocated PDFs, call startEnumeratePDFs
which gives the number, n, of PDFs allocated, then enumeratePDFsInfo and
enumeratePDFsKey with index numbers from 0...(n - 1). Call endEnumeratePDFs to
clean up.
Cpdf.ptOfCm(Double)
Converts a figure in centimetres to points (72 points to 1 inch)
Cpdf.ptOfMm(Double)
Converts a figure in millimetres to points (72 points to 1 inch)
Cpdf.ptOfIn(Double)
Converts a figure in inches to points (72 points to 1 inch)
Cpdf.cmOfPt(Double)
Converts a figure in points to centimetres (72 points to 1 inch)
Cpdf.mmOfPt(Double)
Converts a figure in points to millimetres (72 points to 1 inch)
Cpdf.inOfPt(Double)
Converts a figure in points to inches (72 points to 1 inch)
Cpdf.parsePagespec(Cpdf.Pdf, String)
Parses a page specification with reference to a given PDF (the PDF is supplied
so that page ranges which reference pages which do not exist are rejected).
Cpdf.validatePagespec(String)
Validates a page specification so far as is possible in the absence of the
actual document. Result is true if valid.
Cpdf.stringOfPagespec(Cpdf.Pdf, List{Int32})
Builds a page specification from a page range. For example, the range
containing 1, 2, 3, 6, 7, 8 in a document of 8 pages might yield "1-3, 6-end"
Cpdf.blankRange
Creates a range with no pages in.
Cpdf.range(Int32, Int32)
Builds a range from one page to another inclusive. For example, range(3, 7)
gives the range 3, 4, 5, 6, 7
Cpdf.all(Cpdf.Pdf)
The range containing all the pages in a given document.
Cpdf.even(List{Int32})
Makes a range which contains just the even pages of another range.
Cpdf.odd(List{Int32})
Makes a range which contains just the odd pages of another range.
Cpdf.rangeUnion(List{Int32}, List{Int32})
Makes the union of two ranges giving a range containing the pages in range a
and range b.
Cpdf.difference(List{Int32}, List{Int32})
Makes the difference of two ranges, giving a range containing all the pages in
a except for those which are also in b.
Cpdf.removeDuplicates(List{Int32})
Deduplicates a range, making a new one.
Cpdf.rangeLength(List{Int32})
Gives the number of pages in a range.
Cpdf.rangeGet(List{Int32}, Int32)
Gets the page number at position n in a range,
where n runs from 0 to rangeLength - 1.
Cpdf.rangeAdd(List{Int32}, Int32)
Adds the page to a range, if it is not already
there.
Cpdf.isInRange(List{Int32}, Int32)
Returns true if the page is in the range,
false otherwise.
Cpdf.pages(Cpdf.Pdf)
Returns the number of pages in a PDF.
Cpdf.pagesFast(String, String)
Returns the number of pages in a given PDF, with given user password. It tries
to do this as fast as possible, without loading the whole file.
Cpdf.toFile(Cpdf.Pdf, String, Boolean, Boolean)
Writes the file to a given filename. If linearize is true, it will be
linearized if a linearizer is available. If make_id is true, it will be given a
new ID.
Cpdf.toFileExt(Cpdf.Pdf, String, Boolean, Boolean, Boolean, Boolean, Boolean)
Writes the file to a given filename. If make_id is true, it will be given a new
ID. If preserve_objstm is true, existing object streams will be preserved. If
generate_objstm is true, object streams will be generated even if not
originally present. If compress_objstm is true, object streams will be
compressed (what we usually want). WARNING: the pdf argument will be invalid
after this call, and should be not be used again.
Cpdf.toMemory(Cpdf.Pdf, Boolean, Boolean)
Writes a PDF file and returns as an array of bytes.
Cpdf.isEncrypted(Cpdf.Pdf)
Returns true if a documented is encrypted, false otherwise.
Cpdf.decryptPdf(Cpdf.Pdf, String)
Attempts to decrypt a PDF using the given user password. An exception is raised
if the decryption fails.
Cpdf.decryptPdfOwner(Cpdf.Pdf, String)
Attempts to decrypt a PDF using the given owner password. Raises an exception
if the decryption fails.
Cpdf.Permission
Permissions
Cpdf.Permission.NoEdit
Cannot edit the document
Cpdf.Permission.NoPrint
Cannot print the document
Cpdf.Permission.NoCopy
Cannot copy the document
Cpdf.Permission.NoAnnot
Cannot annotate the document
Cpdf.Permission.NoForms
Cannot edit forms in the document
Cpdf.Permission.NoExtract
Cannot extract information
Cpdf.Permission.NoAssemble
Cannot assemble into a bigger document
Cpdf.Permission.NoHqPrint
Cannot print high quality
Cpdf.EncryptionMethod
Encryption methods
Cpdf.EncryptionMethod.Pdf40bit
40 bit RC4 encryption
Cpdf.EncryptionMethod.Pdf128bit
128 bit RC4 encryption
Cpdf.EncryptionMethod.Aes128bitfalse
128 bit AES encryption, do not encrypt metadata
Cpdf.EncryptionMethod.Aes128bittrue
128 bit AES encryption, encrypt metadata
Cpdf.EncryptionMethod.Aes256bitfalse
Deprecated. Do not use for new files
Cpdf.EncryptionMethod.Aes256bittrue
Deprecated. Do not use for new files
Cpdf.EncryptionMethod.Aes256bitisofalse
256 bit AES encryption, do not encrypt metadata
Cpdf.EncryptionMethod.Aes256bitiosotrue
256 bit AES encryption, encrypt metadata
Cpdf.toFileEncrypted(Cpdf.Pdf, Cpdf.EncryptionMethod, List{Cpdf.Permission},
String, String, Boolean, Boolean, String)
Writes a file as encrypted.
Cpdf.toFileEncryptedExt(Cpdf.Pdf, Cpdf.EncryptionMethod, List{Cpdf.Permission},
String, String, Boolean, Boolean, Boolean, Boolean, Boolean, String)
Writes a file as encrypted with extra parameters. WARNING: the pdf argument
will be invalid after this call, and should not be used again.
Cpdf.hasPermission(Cpdf.Pdf, Cpdf.Permission)
Returns true if the given permission
(restriction) is present.
Cpdf.encryptionKind(Cpdf.Pdf)
Returns the encryption method currently in use on
a document.