Câu hỏi Làm cách nào để hợp nhất một số tệp PDF?


Có rất nhiều phần mềm trong Windows để hợp nhất các tập tin PDF nhưng làm thế nào chúng ta có thể làm tương tự trong Ubuntu?


281
2017-08-21 06:11


gốc


tôi đã tìm thấy liên kết này - Grijesh Chauhan


Các câu trả lời:


PDF-Shuffler  Install PDF-Shuffler 

Nếu bạn muốn một công cụ với GUI đơn giản, hãy thử pdfshuffler. Nó cho phép hợp nhất các tệp PDF cũng như sắp xếp lại và xóa các trang. Để xử lý hàng loạt và / hoặc các nhiệm vụ phức tạp hơn, pdftk tất nhiên là mạnh hơn.

Screenshot of PDF-Shuffler


171
2017-08-21 10:08



Tôi đã thử điều này - nó không hoạt động trên 10.04 - David Oneill
Vào ngày 12.04, pdfshuffler luôn phàn nàn rằng có quá nhiều giá trị để giải nén, làm cho nó không sử dụng được. - despens
Cài đặt và hoạt động như một nét duyên dáng trên 14.04. Cảm ơn nhiều!! - Zlatty
Tôi cũng có thể xác nhận pdfshuffler hoạt động tốt vào ngày 14.04 amd64. - conualfy
Cũng hoạt động tốt trên 16.04.1 - Sanjay Manohar


pdftkInstall pdftk

Để hợp nhất hai tệp pdf, file1.pdf và file2.pdf:

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

Có thêm thông tin đâyCách trở lại máy.


275
2017-08-21 07:42



pdftk là lỗi - bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908. gs có thể chậm, nhưng công việc hoàn hảo [câu trả lời của IgnitE] - Pushpak Dagade
Cảm ơn! Pdftk thực hiện việc hợp nhất đơn giản, cơ bản khá tốt. Quá đủ cho nhu cầu của tôi. YMMV. - Marky
@PushpakDagade ghostscript messes up với chú thích, đặc biệt là ý kiến ​​đã được kiểm tra (đánh dấu chọn hộp kiểm với dấu kiểm), sẽ không còn có dấu kiểm này. Tôi không nhận thức được một cách xung quanh điều này. Ngoài ra, nếu bạn hợp nhất PDF v1.5 + 1.6, đầu ra sẽ là 1.4 theo mặc định. Đó là hành vi kỳ lạ. - Jonathan Komar
pdftk có một cách sử dụng bất thường khi lệnh cat và output theo các đối số đầu vào variadic và theo sau bởi một đối số đầu ra. - Jeff Puckett
Gói này dường như đã bị xóa vào năm 2018.04. - Nicolas Raoul


Ghostscript là một gói (có sẵn theo mặc định trong Ubuntu) cho phép bạn xem hoặc in các tệp PostScript và PDF sang các định dạng khác hoặc chuyển đổi các tệp đó sang các định dạng khác.
Để sử dụng Ghostscript để kết hợp các tệp PDF, hãy nhập một cái gì đó như sau:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

Đây là giải thích ngắn gọn về lệnh:

gs         starts the Ghostscript program.
-dBATCH    once Ghostscript processes the PDF files, it should exit.
           If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE  forces Ghostscript to process each page without pausing for user interaction.
-q         stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite 
           tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
           tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
           Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.

Các tệp nhập của bạn thậm chí không cần phải là tệp PDF. Bạn cũng có thể sử dụng các tệp PostScript hoặc EPS hoặc bất kỳ hỗn hợp nào của ba tệp.

Có rất nhiều thứ bạn có thể làm với Ghostscript. Bạn có thể đọc tài liệu để biết thêm chi tiết.

Nguồn


125
2018-02-17 02:27



Đúng, nhưng đó là vô cùng chậm. Tôi vừa thử ghép các tệp PDF một trang 45 x 400K. pdftk mất 0m0,84 giây, gs mất 1m32.898s (chậm hơn gần 200x) gstuy nhỏ hơn khoảng 21%. - aidan
lệnh này cũng hoạt động nếu bạn sử dụng một ký tự đại diện cho danh sách các tập tin được kết hợp. ví dụ, thay thế file1.pdf file2.pdf với file*.pdf - Antonios Hadjigeorgalis
Cho tôi gs đã làm việc với một số tệp PDF "không tuân thủ" pdftk sẽ chạy mãi mãi. - ntc2
Điều này làm việc hoàn hảo cho nhu cầu của tôi! - dsh
@AntoniosHadjigeorgalis Chỉ để tham khảo và hiểu biết tốt: đó không phải là lệnh hỗ trợ ký tự đại diện, đó thực sự là vỏ thay thế file*.pdf với file1.pdf file2.pdf trước khi truyền các đối số cho lệnh. - Midgard


Bạn cũng sử dụng pdfunite để hợp nhất các tài liệu pdf:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

55
2017-11-12 12:09



CẢNH BÁO: Tệp hiện có out.pdf sẽ bị ghi đè mà không có cảnh báo, vì vậy pdfunite *.pdf sẽ không hoạt động như mong đợi. - krlmlr
@krlmlr Bạn luôn có thể đưa đầu ra vào một thư mục khác. - BЈовић
Đủ công bằng, cp cũng ghi đè đối số cuối cùng mà không cần cảnh báo. Đây là chỉ dành cho người dùng đổ xô (như bản thân mình) - Tôi đã may mắn tôi đã có một bản sao lưu của tập tin trong câu hỏi ... - krlmlr
Upvote: Đây là một công cụ dòng lệnh đơn giản mà không có giao diện người dùng nhấp chuột và nhấp chuột giống như nhiều câu trả lời khác ở đây. Nó độc đáo đóng gói các phức tạp của giải pháp GhostScript (tương đối lớn). - tripleee
Điều này cũng rất nhanh. Làm tốt công việc. Trên một máy chủ rất chậm (aws t1.micro), gs mất 9 giây, pdftk mất 4 giây và pdfunite này mất 0,9 giây để hợp nhất hai tệp! - rsmoorthy


Chuỗi PDF  Install PDF Chain 

Một giải pháp rất hay là PDFChain. GUI của nó là một lối vào của PDFTK, nơi bạn có thể hợp nhất, chia nhỏ hoặc thậm chí thêm một số nền cho các tệp PDF của mình.


33
2018-01-31 16:16



Đây là câu trả lời hay nhất. Nó hoạt động hoàn hảo, bất kể phiên bản Ubuntu. - Paulo Coghi
Làm việc trên Ubuntu 14.04 mà không gặp rắc rối! - my account_ram
Hoạt động tốt trên Ubuntu 18.04! - orschiro
Vì vậy, goo rằng nó đã được gỡ bỏ từ phần mềm ubuntu trong 18.04 (!?) - user2413


Hãy dùng thử PDFMod, đó là từ dự án GNOME:

https://wiki.gnome.org/Apps/PdfMod


10
2017-09-16 21:35



không hợp nhất. - user2413


Tôi sử dụng pdfseparate để trích xuất các trang cụ thể từ tệp pdf lớn:

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

và sau đó tôi tham gia tất cả thông qua lệnh:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

Điều này tham gia:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

vào:

out2014-12-14_23_25_36.pdf

Có thể có một cách dễ dàng hơn như thế nào để đối phó ... :-)


6
2017-12-14 22:37



Quá trình thay thế là không cần thiết và thậm chí có thể gây hại. Một dòng lệnh đơn giản hơn nhiều là pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf nhưng nó thiếu thứ tự của ls -v. Một sửa chữa rõ ràng và tầm thường là đặt tên cho tệp của bạn để chúng tự nhiên sắp xếp theo thứ tự bạn muốn bao gồm chúng. Nếu bạn thực sự muốn ls -v, ít nhất bạn cũng có thể mất đường ống tr, hoàn thành không có gì ở đây. - tripleee