Хорошо, вы решили это, имея доступ к исходному файлу ваших PDF-файлов, файлу Powerpoint. Что вы можете сделать, если хотите достичь того же самого, не имея доступа к источникам?
Позвольте мне дать этому шанс. Я буду использовать ...
- Ghostscript для размещения и переноса входных PDF-страниц на новый размер носителя;
- pdftk для наложения двух разных страниц PDF на одну.
Первый шаг: Ghostscript для размещения изображений на больших носителях
Вот что мы хотим достичь с помощью Ghostscript на этом этапе:
+-----------+-----------------------+
| Original | Ghostscript-output |
+===========+=======================+
| +---+ | +---+---+ (right |
| | p | | | p | | half |
| | 1 | | | 1 | | of sheet |
| +---+ | +---+---+ empty) |
| | |
| +---+ | +---+---+ (left |
| | p | | | | p | half |
| | 2 | | | | 2 | of sheet |
| +---+ | +---+---+ empty) |
+-----------+-----------------------+
Это первая команда для использования:
gswin32c.exe ^
-o left-side-outputs.pdf ^
-sDEVICE=pdfwrite ^
-g7920x6120 ^
-dPDFSETTINGS=/prepress ^
-c "<</PageOffset [0 0]>>setpagedevice" ^
-f powerpoint.pdf
Я сдвинул все изображения страниц на ... ничего, но поместил их на большой лист. Мне лень набирать и объяснять все опции, необходимые для выбора только нечетных номеров страниц, поэтому сейчас я просто делаю это для всех страниц. - Так это то , что мы не достичь сейчас:
+-----------------------+
| Ghostscript-output |
+=======================+
| +---+---+ (right |
| | p | | half |
| | 1 | | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (right |
| | p | | half |
| | 2 | | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (right |
| | p | | half |
| | 3 | | of sheet |
| +---+---+ empty) |
| ......... |
+-----------------------+
(left-side-outputs.pdf)
Теперь поместим все изображения вправо:
gswin32c.exe ^
-o right-side-outputs.pdf ^
-sDEVICE=pdfwrite ^
-g7920x6120 ^
-dPDFSETTINGS=/prepress ^
-c "<</PageOffset [396 0]>>setpagedevice" ^
-f powerpoint.pdf
Вот чего мы достигли с помощью второй команды:
+-----------------------+
| Ghostscript-output |
+=======================+
| +---+---+ (left |
| | | p | half |
| | | 1 | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (left |
| | | p | half |
| | | 2 | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (left |
| | | p | half |
| | | 3 | of sheet |
| +---+---+ empty) |
| ......... |
+-----------------------+
(right-side-outputs.pdf)
Второй шаг: используйте pdftk.exe для наложения пар страниц.
Если вы еще не установили его, загрузите его отсюда. Это не требует реальной установки. Это файл .exe, который запускается из любого места. Мы хотим, чтобы результат выглядел так:
+---------------------+-------------+
| pdftk input | pdftk output|
+=====================+=============+
| +---+---+ (right | +---+---+ |
| | p | | half | | p | p | |
| | 1 | | of sheet | | 1 | 2 | |
| +---+---+ empty) | +---+---+ |
| | |
| +---+---+ (left | |
| | | p | half | |
| | | 2 | of sheet | |
| +---+---+ empty) | |
+---------------------+-------------+
Мы будем использовать эти команды:
pdftk.exe ^
A=left-side-outputs.pdf ^
B=right-side-outputs.pdf ^
cat A1 B2 ^
output 2up-powerpoint-page-1.pdf ^
verbose
pdftk.exe ^
A=left-side-outputs.pdf ^
B=right-side-outputs.pdf ^
cat A3 B4 ^
output 2up-powerpoint-page-2.pdf ^
verbose
Хорошо, до сих пор мы создали только первые две двойные страницы ... Однако теперь я хочу объединить эти две двойные страницы в один файл:
pdftk.exe ^
A=2up-powerpoint-page-1.pdf ^
B=2up-powerpoint-page-2.pdf ^
cat A B ^
output 2up-powerpoint-all.pdf
Теперь у вас должно быть достаточно вдохновения для обработки оставшихся страниц ... если вы очень амбициозны, вы даже создадите сценарий, используя одну единственную командную строку, используя два вложенных цикла for /l ...
; ;)