Обновление: Спасибо stardt, чей сценарий работает! PDF-файл - это страница другого. Я пробовал сценарий на другом, и он также правильно выводил каждую страницу pdf, но порядок номеров страниц иногда правильный, а иногда неправильный. Например, на страницах 25-28 файла pdf напечатанные номера страниц - 14, 15, 17, 16. Мне было интересно, почему? Весь pdf-файл можно загрузить с http://download304.mediafire.com/u6ewhjt77lzg/bgf8uzvxatckycn/3.pdf
Оригинал: У меня есть отсканированный pdf-файл, где две бумажные страницы расположены рядом. страницу в формате pdf. Я хотел бы разделить страницу pdf на две, причем исходная левая половина стала более ранней из двух новых страниц pdf. PDF-файл выглядит как .
Вот мой сценарий Python с именем un2up
, вдохновленный Жилем :
#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for p in [input.getPage(i) for i in range(0,input.getNumPages())]:
q = copy.copy(p)
(w, h) = p.mediaBox.upperRight
p.mediaBox.upperLeft = (0, h/2)
p.mediaBox.upperRight = (w, h/2)
p.mediaBox.lowerRight = (w, 0)
p.mediaBox.lowerLeft = (0, 0)
q.mediaBox.upperLeft = (0, h)
q.mediaBox.upperRight = (w, h)
q.mediaBox.lowerRight = (w, h/2)
q.mediaBox.lowerLeft = (0, h/2)
output.addPage(q)
output.addPage(p)
output.write(sys.stdout)
Я пробовал сценарий на pdf в терминале с командой un2up
, но вывод out.pdf
разбивается неправильно.
Я также проверил значения переменных w
и h
, вывод p.mediaBox.upperRight
, и они равны 514
] и 1224
, которые не выглядят правильно, исходя из их фактического соотношения.
Файл можно загрузить с http://download851.mediafire.com/bdr4sv7v5nzg/raci13ct5w4c86j/page.pdf .