Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:pypdf [2012/07/18 15:25] [pyPDF] |
wiki:pypdf [2012/09/18 22:14] (текущий) Исправлена ссылка на русскую документацию |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== pyPDF ===== | ===== pyPDF ===== | ||
- | Библиотека на чистом Python для работы с PDF. Вот на что способен модуль: | + | Это библиотека на чистом Python для работы с PDF. Вот на что способен модуль: |
* извлечение информации из документа (название, автор, ...) | * извлечение информации из документа (название, автор, ...) | ||
Строка 14: | Строка 14: | ||
<note>Пакет ''pyPDF'' доступен из официального репозитория: [[app>python-pypdf|этот замечательный пакет]]</note> | <note>Пакет ''pyPDF'' доступен из официального репозитория: [[app>python-pypdf|этот замечательный пакет]]</note> | ||
+ | ===== Документация ===== | ||
+ | |||
+ | * Английская официальная - [[http://pybrary.net/pyPdf/|на сайте проекта]] | ||
+ | * Переведенная мной документация - [[wiki:pypdf_documentation|Документация к pyPDF на русском языке]] | ||
+ | |||
===== Простой пример ===== | ===== Простой пример ===== | ||
<code python example.py> | <code python example.py> | ||
+ | #!/usr/bin/env python | ||
+ | # coding: utf-8 | ||
+ | |||
from pyPdf import PdfFileWriter, PdfFileReader | from pyPdf import PdfFileWriter, PdfFileReader | ||
output = PdfFileWriter() | output = PdfFileWriter() | ||
- | input1 = PdfFileReader(file("document1.pdf", "rb")) | + | input1 = PdfFileReader(file("Документ.pdf", "rb")) |
# выводим на экран заголовок файла document1.pdf | # выводим на экран заголовок файла document1.pdf | ||
- | print "title = %s" % (input1.getDocumentInfo().title) | + | print "Заголовок = %s" % (input1.getDocumentInfo().title) |
# добавляем в output страницу №1 из inpu1, без изменений | # добавляем в output страницу №1 из inpu1, без изменений | ||
Строка 30: | Строка 38: | ||
output.addPage(input1.getPage(1).rotateClockwise(90)) | output.addPage(input1.getPage(1).rotateClockwise(90)) | ||
- | # add page 3 from input1, rotated the other way: | + | # добавляем страницу №3 из input1, повернутую другим способом: |
output.addPage(input1.getPage(2).rotateCounterClockwise(90)) | output.addPage(input1.getPage(2).rotateCounterClockwise(90)) | ||
- | # alt: output.addPage(input1.getPage(2).rotateClockwise(270)) | + | # или так: output.addPage(input1.getPage(2).rotateClockwise(270)) |
- | # add page 4 from input1, but first add a watermark from another pdf: | + | # добавляем страницу №4 из imput1, но сначала добавляем водяной знак из другого pdf: |
page4 = input1.getPage(3) | page4 = input1.getPage(3) | ||
- | watermark = PdfFileReader(file("watermark.pdf", "rb")) | + | watermark = PdfFileReader(file("ВодянойЗнак.pdf", "rb")) |
page4.mergePage(watermark.getPage(0)) | page4.mergePage(watermark.getPage(0)) | ||
- | # add page 5 from input1, but crop it to half size: | + | # добавляем страницу 5 из imput1, но обрезаем ее до половинного размера: |
page5 = input1.getPage(4) | page5 = input1.getPage(4) | ||
page5.mediaBox.upperRight = ( | page5.mediaBox.upperRight = ( | ||
Строка 47: | Строка 55: | ||
output.addPage(page5) | output.addPage(page5) | ||
- | # print how many pages input1 has: | + | # посмотрим, сколько страниц содержит imput1: |
- | print "document1.pdf has %s pages." % input1.getNumPages() | + | print "Документ.pdf имеет %s стр." % input1.getNumPages() |
- | # finally, write "output" to document-output.pdf | + | # Наконец, записываем "output" в файл "Результат.pdf" |
- | outputStream = file("document-output.pdf", "wb") | + | outputStream = file("Результат.pdf", "wb") |
output.write(outputStream) | output.write(outputStream) | ||
outputStream.close() | outputStream.close() | ||
</code> | </code> | ||
- | ===== Ссылки ===== | ||
- | |||
- | * [[FIXME]] | ||
{{tag>pypdf}} | {{tag>pypdf}} |