Хорошо, вы решили это, имея доступ к исходному файлу ваших 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 ...
цикла ;-)