Содержание
Destination(title, page, typ, *args) (класс)
Класс олицетворяет пункт назначения в PDF файле. |
DocumentInformation() (класс)
Класс предоставляет элементарные метаданные, содержащиеся в PDF файле. |
PageObject(pdf) (класс)
Класс олицетворяет страницу из PDF файла, одну страницу. |
PdfFileReader(stream) (класс)
Инициализирует объект PdfFileReader.
|
PdfFileWriter() (класс)
Этот класс поддерживает запись PDF файлов на диск, которые сделаны другим классом: PdfFileReader. |
Класс Destination
Destination(title, page, typ, *args) (class)
Класс олицетворяет пункт назначения в PDF файле. Смотрите раздел 8.2.1 спецификации PDF 1.6, для того, чтобы понять, что такое пункт назначения.1) Вырезка из спецификации PDF. Оригинальный текст можно увидеть в сносках.
8.2 Навигация на уровне документа Особенности, описанные в этом разделе позволяют приложениям для чтения PDF предоставлять пользователю интерактивный, глобальный обзор документа в какой-либо из этих форм:2)
Каждый элемент структуры или каждая миниатюра может быть связана с соответствующим пунктом_назначения в документе, в смысле, пользователь может попасть прямо в пункт_назначения с помощью клика мыши. 5) Раздел 8.2.1 вы можете найти здесь, так как он слишком объемный. Стабильность: Добавлено в версии 1.10, будет существовать в будущих 1.х выпусках. |
bottom
Read-only свойство, дающее доступ к нижней вертикальной координате.
|
left
Read-only свойство, дающее доступ к левой горизонтальной координате.
|
page
Read-only свойство, дающее доступ странице пункта назначения.
|
right
Read-only свойство, дающее доступ к правой горизонтальной координате.
|
title
Read-only свойство, дающее доступ к названию (title) пункта назначения.
|
top
Read-only свойство, дающее доступ к верхней вертикальной координате.
|
typ
Read-only свойство, дающее доступ к типу пункта назначения.
|
zoom
Read-only свойство, дающее доступ к коэффициенту увеличения.
|
Класс DocumentInformation
DocumentInformation() (класс)
Класс предоставляет элементарные метаданные, содержащиеся в PDF файле. По состоянию на pyPDF v1.10, все текстовые свойства метаданных документа имеют два свойства свойства класса, например author и author_raw. Не-raw свойство всегда возвращает TextStringObject, делая его идеальным в случае, если нужно отобразить метаданные. Raw-свойство может иногда возвращать ByteStringObject, если pyPDF не в состоянии определить кодировку текстовой строки; это требует дополнительной аккуратности от разработчика и, как следствие, редкого использования. |
author
Read-only свойство, дающее доступ к автору документа.
Добавлено в версии 1.6, будет существовать в будущих 1.х выпусках. Модифицировано в версии 1.10, чтобы всегда возвращалась строка в unicode (TextStringObject). |
creator
Read-only свойство, дающее доступ к создателю документа. Если документ был сконвертирован в PDF из другого формата, то это имя приложения (например, OpenOffice), которое сделало оригинальный документ, из которого данный был сконвертирован.
Добавлено в версии 1.6, будет существовать в будущих 1.х выпусках. Модифицировано в версии 1.10, чтобы всегда возвращалась строка в unicode (TextStringObject). |
producer
Read-only свойство, дающее доступ к создателю документа. Если документ был сконвертирован в PDF из другого формата, то это имя приложения (например, OSX Quartz), которое сконвертировало оригинальный документ в PDF.
Добавлено в версии 1.6, будет существовать в будущих 1.х выпусках. Модифицировано в версии 1.10, чтобы всегда возвращалась строка в unicode (TextStringObject). |
subject
Read-only свойство, дающее доступ к теме документа.
Добавлено в версии 1.6, будет существовать в будущих 1.х выпусках. Модифицировано в версии 1.10, чтобы всегда возвращалась строка в unicode |
title
Read-only свойство, дающее доступ к заголовку документа.
Добавлено в версии 1.6, будет существовать в будущих 1.х выпусках. Модифицировано в версии 1.10, чтобы всегда возвращалась строка в unicode |
Класс PageObject
PageObject(pdf) (класс)
Класс олицетворяет одиночную страницу в PDF файле. Банально этот объект может быть создан с помощью доступа к функции PdfFileReader.getPage, принадлежащей классу PdfFileReader. |
artBox
Прямоугольник (RectangleObject), выраженный в дефолтных пользовательских единицах измерения, определяющий размеры значимого контента, как было задумано создателем. 6)
|
bleedBox
Прямоугольник (RectangleObject), выраженный в дефолтных пользовательских единицах измерения, определяющий область, в которую контент страницы должен быть обрезан, когда производится вывод в реальный мир. 7)
|
compressContentStreams()
Сжимает размер этой страницы, объединяя все контентные потоки и применяя FlateDecode фильтр.8)
|
cropBox
Прямоугольник (RectangleObject), выраженный в дефолтных пользовательских единицах измерения, определяющий видимую область дефолтного пользовательского пространства. Когда страница отображается, или распечатывается, ее контент должен быть обрезан этим прямоугольником и затем наложен на внешнюю среду каким-нибудь способом.9)
|
extractText()
Найти все рисующие текст команды, в порядке их представления в потоке содержания, и извлечь текст. 10) Это хорошо работает для некоторых PDF, но ужасно для других, это зависит от используемого генератора. Это будет усовершенствовано в будущем. Не полагайтесь на порядок текста, исходящий от этой функции, из-за того, что он может изменится при усложнении функции.
|
mediaBox
Прямоугольник (RectangleObject), выраженный в дефолтных пользовательских единицах измерения, определяющий границы физической среды, на которой страница предназначена быть показанной или распечатанной.11)
|
mergePage(page2)
Объединяет потоки с контентом двух страниц в один. Ссылки на ресурсы (вроде шрифтов) поддерживаются из обоих страниц. mediabox/cropbox/прочее, принадлежащее этой страницы не изменится. Параметр контентного потока страницы будет добавлен в конец контентного потока этой страницы. Это означает, что все будет дорисовано после, или на вершине этой страницы.
|
rotateClockwise(angle)
Поворачивает страницу по часовой стрелки на число градусов, кратное 90.
|
rotateCounterClockwise(angle)
Поворачивает страницу против часовой стрелки на число градусов, кратное 90.
|
trimBox
Прямоугольник (RectangleObject), выраженный в дефолтных пользовательских единицах измерения, определяющий придуманные вами габариты конечной страницы после обрезки. 12)
|
Класс PdfFileReader
PdfFileReader(stream) (class)
Инициализирует PdfFileReader объект. Данная операция может занять некоторое время, пока таблицы перекрестных ссылок считываются из
Стабильность: Добавлено в версии 1.0. Будет существовать во всех 1.х выпусках. |
decrypt(password)
Когда используется зашифрованный/защищенный PDF файл со стандартным обработчиком шифрования, эта функция позволит дешифровать файл. Она проверяет переданный пароль на соответствие «пользовательскому» и «паролю владельца», и сохраняет полученный ключ для дешифровки, если какой-либо пароль подошел. Неважно какой пароль подошел. Оба пароля предлагают верный ключ дешифровки, который позволит использовать документ с помощью этой библиотеки.
Стабильность: Добавлено в версии 1.8. Будет существовать во всех 1.х выпусках. |
documentInfo
Read-only свойство, которое предоставляет доступ к функции getDocumentInfo. Стабильность: Добавлено в версии 1.7. Будет существовать во всех 1.х выпусках. |
getDocumentInfo()
Извлекает информационный словарь из PDF документа, если такой существует. Заметьте, что некоторые файлы используют потоки метаданных вместо информационных словарей, и эти потоки не будут доступны с помощью этой функции. Возвращает экземпляр DocumentInformation или None, если ничего не существует.
Стабильность: Добавлено в версии 1.6. Будет существовать во всех 1.х выпусках. |
getNamedDestinations(tree=None, retval=None)
Извлекает именованные пункты назначения в документе.
Стабильность: Добавлено в версии 1.10. Будет существовать во всех 1.х выпусках. |
getNumPages()
Подсчитывает количество страниц в данном PDF файле.
Стабильность: Добавлено в версии 1.0. Будет существовать во всех 1.х выпусках. |
getOutlines(node=None, outlines=None)
Извлекает структуру документа, присутствующую в нем.
Стабильность: Добавлено в версии 1.10. Будет существовать во всех 1.х выпусках. |
getPage(pageNumber)
Извлекает страницу с определенным номером из PDF файла.
Стабильность: Добавлено в версии 1.0. Будет существовать во всех 1.х выпусках. |
isEncrypted
Read-only булево свойство, показывающее зашифрован ли файл. Заметьте, что это свойство, если оно True, то оно останется True даже после вызова дешифрирующей функции PdfFileReader.decrypt. |
namedDestinations
Read-only свойство, дающее доступ к функции PdfFileReader.getNamedDestinations. Стабильность: Добавлено в версии 1.10. Будет существовать во всех 1.х выпусках. |
numPages
Read-only свойство, дающее доступ к функции PdfFileReader.getNumPages. Стабильность: Добавлено в версии 1.7. Будет существовать во всех 1.х выпусках. |
outlines
Read-only свойство, дающее доступ к функции PdfFileReader.getOutlines. Стабильность: Добавлено в версии 1.10. Будет существовать во всех 1.х выпусках. |
pages
Read-only свойство, которое эмулирует список основанный на PdfFileReader.getNumPages И PdfFileReader.getPage функциях. Стабильность: Добавлено в версии 1.7. Будет существовать во всех 1.х выпусках. |
Класс PdfFileWriter
PdfFileWriter() (class)
Этот класс поддерживает запись PDF объектов на диск, которые сделаны классом PdfFileReader. |
addPage(page)
Добавляет страницу к этому PDF файлу. Страница обычно получена от экземпляра PdfFileReader.
Стабильность: Добавлено в версии 1.0. Будет существовать во всех 1.х выпусках. |
encrypt(user_pwd, owner_pwd=None, use_128bit=True)
Шифрует данный PDF файл с помощью стандартного обработчика шифрования PDF. 14)
|
write(stream)
Записывает коллекцию страниц, добавленных а объект для вывода, как PDF файл.
Стабильность: Добавлено в версии 1.0. Будет существовать во всех 1.х выпусках. |
Раздел 8.2.1 из спецификации PDF
8.2.1 Пункты назначения
Пункт назначения определяет конкретный вид документа, состоящего из следующих элементов:
- Страница, которая будет отображена
- Расположение окна документа на этой странице. 15)
- Увеличение, которое нужно использовать при показе страницы
Пункт назначения в документе может ассоциироваться с элементом структуры документа (смотрите раздел 8.2.2, «Document Outline»), аннотациями (смотрите “Link Annotations” на странице 587), или действиями (“Go-To Actions” на странице 616 и “Remote Go-To Actions” на 617-й), в каждом случае пункт назначения указывает что будет показано при открытии элемента структуры документа или аннотации, или если выполнено действие. В дополнение, дополнительный ввод OpenAction в каталог документа (смотрите раздел 3.6.1, “Document Catalog”) может указывать пункт назначения, который будет показан при открытии документа. Пункт назначения может быть указан явно с помощью массива параметров, определяющим эти параметры или косвенно с помощью имени. 16)
Явный пункт назначения
Таблица 8.2 показывает разрешенные синтаксические формы для явного указания пункта назначения в PDF файле. В любом случае, страница является неявной ссылкой на объект-страницу. Все значения координат (слева, справа, сверху, снизу) выражены в дефолтной пользовательской системе координат.
Ограничительная рамка страницы является наименьшим прямоугольником вмещающем все ее содержание. (Если какая-либо сторона ограничительной рамки лежит за пределами обрезающей рамки, соответствующая сторона обрезающей рамки используется вместо. Смотрите раздел 10.10.1, «Page Boundaries», для дальнейшего обсуждения обрезающей рамки.)
TABLE 8.2 Destination syntax
Синтаксис………………… | MEANING |
---|---|
[page /XYZ left top zoom] | Display the page designated by page, with the coordinates (left, top) positioned at the upper-left corner of the window and the contents of the pagemagnified by the factor zoom. A null value for any of the parameters left, top, or zoom specifies that the current value of that parameter is to be retained unchanged. A zoom value of 0 has the same meaning as a null value. |
[page /Fit] | Display the page designated by page, with its contents magnified just enough to fit the entire page within the window both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the page within the window in the other dimension. |
[page /FitH top] | Display the page designated by page, with the vertical coordinate top positioned at the top edge of the window and the contents of the page magnified just enough to fit the entire width of the page within the window. |
[page /FitV left] | Display the page designated by page, with the horizontal coordinate left positioned at the left edge of the window and the contents of the page magnified just enough to fit the entire height of the page within the window. |
[page /FitR left bottom right top] | Display the page designated by page, with its contents magnified just enough to fit the rectangle specified by the coordinates left, bottom, right, and top entirely within the window both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the rectangle within the window in the other dimension. |
[page /FitB] | (PDF 1.1) Display the page designated by page, with its contents magnified just enough to fit its bounding box entirely within the window both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the bounding box within the window in the other dimension. |
[page /FitBH top] | (PDF 1.1) Display the page designated by page, with the vertical coordinate top positioned at the top edge of the window and the contents of the page magnified just enough to fit the entire width of its bounding box within the window. |
[page /FitBV left] | (PDF 1.1) Display the page designated by page, with the horizontal coordinate left positioned at the left edge of the window and the contents of the page magnified just enough to fit the entire height of its bounding box within the window. |
Именованные пункты назначения
Instead of being defined directly with the explicit syntax shown in Table 8.2, a destination may be referred to indirectly by means of a name object (PDF 1.1) or a string (PDF 1.2). This capability is especially useful when the destination is lo- cated in another PDF document. For example, a link to the beginning of Chapter 6 in another document might refer to the destination by a name, such as Chap6.begin, instead of by an explicit page number in the other document. Then, the location of the chapter in the other document could change without invalidat- ing the link. If an annotation or outline item that refers to a named destination has an associated action, such as a remote go-to action (see “Remote Go-To Ac- tions” on page 617) or a thread action (“Thread Actions” on page 623), the desti- nation is in the file specified by the action’s F entry, if any; if there is no F entry, the destination is in the current file. In PDF 1.1, the correspondence between name objects and destinations is defined by the Dests entry in the document catalog (see Section 3.6.1, “Docu- ment Catalog”). The value of this entry is a dictionary in which each key is a des- tination name and the corresponding value is either an array defining the destination, using the syntax shown in Table 8.2, or a dictionary with a D entry whose value is such an array. The latter form allows additional attributes to be associated with the destination, as well as enabling a go-to action (see “Go-To Actions” on page 616) to be used as the target of a named destination. In PDF 1.2, the correspondence between strings and destinations is defined by the Dests entry in the document’s name dictionary (see Section 3.6.3, “Name Dic- tionary”). The value of this entry is a name tree (Section 3.8.5, “Name Trees”) mapping name strings to destinations. (The keys in the name tree may be treated as text strings for display purposes.) The destination value associated with a key in the name tree may be either an array or a dictionary, as described in the pre- ceding paragraph.