Kiedy próbuję scalić dwa pliki .pdf za pomocą Imagemagick
convert pdf1.pdf pdf2.pdf temp.pdf
wynikowy plik temp.pdf wydaje się mieć bardzo niską rozdzielczość. Jak mogę zachować rozdzielczość taką samą jak w plikach źródłowych?
Kiedy próbuję scalić dwa pliki .pdf za pomocą Imagemagick
convert pdf1.pdf pdf2.pdf temp.pdf
wynikowy plik temp.pdf wydaje się mieć bardzo niską rozdzielczość. Jak mogę zachować rozdzielczość taką samą jak w plikach źródłowych?
Odpowiedzi:
Barns ma rację, ale jeśli pdftk nie działa, wypróbuj ghostscript.
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf
Polecenie konwersji Imagemagick jest zwykle używane do konwertowania plików obrazów z jednego formatu na inny, w takim przypadku możliwe jest, że faktycznie wykonuje wewnętrzną konwersję, zanim wyśle dwa „obrazy” (PDF) do jednego pliku.
Proponuję rozważyć użycie zestawu narzędzi PDF (pdftk) zamiast http://www.accesspdf.com/pdftk/
Z przykładów na stronie internetowej powinno to być tak proste, jak:
pdftk pdf1.pdf pdf2.pdf cat output temp.pdf
Jeśli każdy plik, który chcesz scalić, znajduje się w tym samym folderze:
convert -density 150 $(ls -rt *pdf) output.pdf
argument -density 150
utrzymuje jakość scalonych plików PDF.
convert -density 150 *.pdf output.pdf
Zawsze zapominam, jak to zrobić i znajduję to pytanie jako pierwsze, gdy szukam.
convert -density 600 file1.pdf file2.pdf -resize 50% new.pdf
Połączony przykład ma gęstość 144, która jednak nigdy nie była wystarczająco wysoka, aby nie wyglądała na pikselowaną.
Jeśli korzystasz z systemu Linux, możesz także wypróbować poppler, który zapewnia pdfunite
konkatenację bez zmiany rozdzielczości.
Nie mogłem znaleźć żadnego sposobu na połączenie dwóch plików pdf razem przy zachowaniu dobrej rozdzielczości i nienaruszonego tekstu, ale wymyśliłem sposób, aby przekonwertować go na plik png w wysokiej rozdzielczości.
pdftoppm -f 1 -l 1 -aa yes -aaVector yes -png -r 300 page.pdf > tmp1.png
pdftoppm -f 2 -l 2 -aa yes -aaVector yes -png -r 300 page.pdf > tmp2.png
convert tmp1.png tmp2.png +append -quality 100 page.png
To prowadzi do pierwszych dwóch stron page.pdf i łączy je w plik png o wysokiej rozdzielczości obok siebie.
Zmiana ostatniej linii na
convert tmp1.png tmp2.png +append -quality 100 page.pdf
zaowocuje wydrukiem dokumentu pdf, jak później zorientowałem się po bałaganie w pngtopnm, pnmtops, ps2pdf.