Всем привет!
Не могу решить одну задачу.
Имеется - большое количество PDF-файлов, разложенных по отдельным папкам и имеющих имена файлов соответствующих номерам страниц.
Требуется - склеить все имеющиеся в каждой папке PDF-файлы в один PDF.
Предполагается использовать для этого Ghostscript в виде команды:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH 1.pdf 2.pdf 3.pdf
Надо сказать, что это все прекрасно работает, но!
У меня более 50 папок и в каждой от 30 до 50 PDF-файлов.
То есть мне нужно будет набить команду более 50 раз с перечислением более чем 30 имен файлов не сбившись с порядка страниц и не пропустив ни одной из них. Иначе придется все повторить, или мудрить с вшиванием отдельных страниц в необходимую позицию.
Вот я и подумал использовать эту команду с использованием механизма каналов вместе с командой "ls -x -v *.pdf", которая выводит отсортированный по имени файла в порядке возрастания список PDF-файлов имеющихся в папке.
ls -x -v *.pdf | gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH -
Но у меня ничего не выходит.
Получаю такой вывод:
GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefined in p1.pdf
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop 1739 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1152/1684(ro)(G)-- --dict:0/20(G)-- --dict:70/200(L)--
Current allocation mode is local
GPL Ghostscript 8.70: Unrecoverable error, exit code 1
Здесь вот
http://pages.cs.wisc.edu/~ghost/doc/svn/Use.htm#Pipes написано, что каналы видимо для PDF-файлов использовать нельзя, только для PostScript-документов.
Может кто подскажет направление для поиска.
Или может есть другие, альтернативные решения такой задачи.
Решение здесь:
http://noteubunix.blogspot.com/2010/05/pdf.html