Хорошо, проблема была уже решена с помощью Acrobat (полная версия, не Читатель). Но что сделать, если у Вас нет доступа к Acrobat? Это могло быть сделано с Ghostscript и pdftk также?
... и ради удовольствия, давайте не использовать входной файл с "двойными" страницами, но один с "тройным". На самом деле я получил один такой PDF сегодня по электронной почте. Это был флаер, свернутый в Схеме Leporello. Размер листа был средой A4 (842 ПБ x 595 ПБ), и это было свернуто и layed как это:
Front side to be printed, page 1 of PDF
+--------+--------+--------+ ^
| | | | |
| 5 | 6 | 1 | |
| | | | 595 pt
| | | | |
| | | | |
| | | | |
+--------+--------+--------+ v
^ ^
fold fold
v v
+--------+--------+--------+ ^
| | | | |
| 2 | 3 | 4 | |
| | | | 595 pt
| | | | |
| | | | |
| | | | |
+--------+--------+--------+ v
Back side to be printed, page 2 of PDF
<---------- 842 pt -------->
Я хочу создать 1 PDF с 6 страницами, каждая из которых имеет необычный размер 280.67 ПБ x 595 ПБ.
Давайте сначала извлечем левые разделы из каждой из входных страниц:
gswin32c.exe ^
-o left-sections.pdf ^
-sDEVICE=pdfwrite ^
-g2807x5950 ^
-c "<</PageOffset [0 0]>> setpagedevice" ^
-f myflyer.pdf
Что делали эти параметры?
-o ...............:
Выходной файл имен. Implicitely также использует -dBATCH -dNOPAUSE -dSAFER
.-sDEVICE=pdfwrite :
мы хотим PDF как выходной формат.-g................:
наборы производят размер медиа в пикселях. разрешение pdfwrite по умолчанию составляет 720 точек на дюйм. Следовательно умножьтесь на 10 для получения достойными PageOffset.-c "..............:
просит Ghostscript обрабатывать данный фрагмент кода PostScript незадолго до основного входного файла (который должен следовать с -f
).<</PageOffset ....:
смещение наборов страницы отображает на носителе. (Конечно, для левых страниц сдвиг на [0 0]
не имеет никакого реального эффекта.)-f ...............:
обработайте этот входной файл.Какого результата последняя команда достигала?
Этот:
Output file: left-sections.pdf, page 1
+--------+ ^
| | |
| 5 | |
| |595 pt
| | |
| | |
| | |
+--------+ v
Output file: right-sections.pdf, page 2
+--------+ ^
| | |
| 2 | |
| |595 pt
| | |
| | |
| | |
+--------+ v
< 280 pt >
Теперь давайте сделаем аналогичную вещь для центральных секций:
gswin32c.exe ^
-o center-sections.pdf ^
-sDEVICE=pdfwrite ^
-g2807x5950 ^
-c "<</PageOffset [280.67 0]>> setpagedevice" ^
-f myflyer.pdf
Результат:
Output file: center-sections.pdf, page 1
+--------+ ^
| | |
| 6 | |
| |595 pt
| | |
| | |
| | |
+--------+ v
Output file: center-sections.pdf, page 2
+--------+ ^
| | |
| 3 | |
| |595 pt
| | |
| | |
| | |
+--------+ v
< 280 pt >
Наконец, правильные разделы:
gswin32c.exe ^
-o right-sections.pdf ^
-sDEVICE=pdfwrite ^
-g2807x5950 ^
-c "<</PageOffset [561.34 0]>> setpagedevice" ^
-f myflyer.pdf
Результат:
Output file: right-sections.pdf, page 1
+--------+ ^
| | |
| 1 | |
| |595 pt
| | |
| | |
| | |
+--------+ v
Output file: right-sections.pdf, page 2
+--------+ ^
| | |
| 4 | |
| |595 pt
| | |
| | |
| | |
+--------+ v
< 280 pt >
Теперь мы комбинируем страницы в один файл:
pdftk.exe ^
A=right-sections.pdf ^
B=center-sections.pdf ^
C=left-sections.pdf ^
cat A1 B2 C2 A2 B1 C1 ^
output single-files-input.pdf
verbose
Готово. Вот желаемый результат. 6 различных страниц, измеренных 280.67x595.
Результат:
+--------+ +--------+ +--------+ +--------+ +--------+ +--------+ ^
| | | | | | | | | | | | |
| 1 | | 2 | | 3 | | 4 | | 5 | | 6 | |
| | | | | | | | | | | | 595 pt
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
+--------+ +--------+ +--------+ +--------+ +--------+ +--------+ v
< 280 pt > < 280 pt > < 280 pt > < 280 pt > < 280 pt > < 280 pt >
Вы могли копировать документ, затем обрезать страницы так, чтобы только числа четной страницы показали в одном файле и только нечетных номерах страниц в другом. Затем разделите файлы на единственные страницы и переобъединение для создания одного документа с единственными сторонами к странице...
Можно сделать это использование многих методов, например:
@peims, спасибо. Вот пошаговая версия Вашего метода. Я попробовал его на файле, который я хотел преобразовать для своего Kindle DX, и это работает отлично:
Затем, используйте pdftk.exe (из http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/) для чередования результатов в единственный файл. Скопируйте "pdftk.exe", "left.pdf" и "right.pdf" к к "D:\", и выполнитесь:
Примечание: при копировании файлов в "C:\" он не будет работать под Win 7 из-за прав доступа. Если у Вас нет D:\, то создайте каталог "C:\x" для завершения операции.
Эти результаты обычно были бы достаточно хороши. Однако существует еще два дополнительных шага для улучшения вывода.