Adobe Acrobat: Làm thế nào để bó để kết hợp nhiều tệp pdf?


9

Tôi có 3 thư mục:

Folder 1 
Folder 2
Folder 3

Trong mỗi thư mục tôi có 5 tệp pdf:

    Folder 1 
       file1.pdf
       file2.pdf
    Folder 2
       file1.pdf
       file2.pdf
    Folder 3
       file1.pdf
       file2.pdf

Tôi muốn trong mỗi thư mục có một tệp kết hợp của hai tệp đó:

    Folder 1 
       binder.pdf
    Folder 2
       binder.pdf
    Folder 3
       binder.pdf

Bất kỳ ý tưởng? Đừng nói để làm điều đó bằng tay. Trường hợp này chỉ là để giải thích cho bạn vấn đề của tôi. Hãy nghĩ rằng tôi có hàng trăm thư mục. :) Có lẽ tôi có thể sử dụng một công cụ khác thay vì Adobe Acrobat?!


Chính xác ý bạn là gì khi "có một tệp kết hợp của hai tệp đó" ? Sẽ kết hợp và hợp nhất hai tệp này thành 1 tệp PDF có phù hợp với bạn không?
Kurt Pfeifle

Adobe Acrobat hay Adobe Acrobat Reader ?
wmz

@AndreiAndre Nhiều giải pháp tốt đã được đăng lên câu hỏi của bạn. Có lẽ bạn có thể chọn một trong những phù hợp với tất cả các nhu cầu của bạn và đánh dấu nó là chấp nhận.
nixda

Câu trả lời:


12

Bạn có thể làm điều này với một tệp bó ngắn và pdftk.exe (không phải pdftk Builder là phiên bản GUI).
Không cần phải cài đặt bất cứ điều gì.

Chuẩn bị

  • tải xuống và giải nén pdftk với UniExtract
  • Mở .. \ pdftk \ bin * và sao chép pdftk.exelibiconv2.dll vào một thư mục bạn chọn
  • tạo một tệp văn bản mới và dán đoạn mã sau

    @echo tắt
    setlocal enableelayed mở rộng
    CHO %% A IN (% *) DO (đặt lệnh =! Lệnh! %% A)
    lệnh pdftk.exe %% đầu ra mèo "% ~ dp1binder.pdf"
    
  • Lưu nó dưới dạng merge@pdf.cmd trong cùng thư mục với pdftk.exe và libiconv2.dll nhập mô tả hình ảnh ở đây
  • tạo một lối tắt của .cmd này và đặt nó vào thư mục sendto của bạn ( Win+ R»shell: sendto)

Sử dụng

  • Chuyển đến thư mục chứa một số tệp PDF và chọn bao nhiêu tệp PDF bạn muốn
  • Nhấp chuột phải vào chúng và chọn phím tắt bạn vừa tạo
  • một binder PDF mới trong cùng một thư mục sẽ được tạo trong đó tất cả các tệp PDF đã chọn được hợp nhất thành một

    nhập mô tả hình ảnh ở đây

Cập nhật: Phiên bản sử dụng tên thư mục hiện tại làm tên tệp cho pdf được tạo

@echo off
setlocal enabledelayedexpansion
:: Concat all paths fromselected files and save it as command
FOR %%A IN (%*) DO (set command=!command! %%A)

:: Take path from first selected file and save it as path
set path=%~dp1
echo %path%

:: Check if a trailing slash is present. If yes, remove it
IF %path:~-1%==\ SET path=%path:~0,-1%

:: Get last folder from path
FOR %%F in ("%path%") do (set lastFolder=%%~nxF)

:: Call pdftk, pass on command. use lastFolder as filename
pdftk.exe %command% cat output "%path%\%lastFolder%.pdf"

RẤT trả lời tốt đẹp. Tôi đang vật lộn để sửa đổi nó, vì vậy nó lưu dưới dạng FOLDERNAME thay vì binder.pdf. Làm thế nào tôi có thể làm điều đó?
Chen thống kê Yu

@ChenStatsYu Xem cập nhật
nixda

TUYỆT QUÁ!! Xin lỗi để hỏi lại, không chắc tôi có nên bắt đầu một bài mới không. Chỉ một yêu cầu cuối cùng, khi tôi lặp lại điều này cho gần 40/50 thư mục, chúng ta có thể sửa đổi nó để gửi "thư mục" đến cmd và sử dụng tên người dùng, thay vì chọn một số pdf từ thư mục không?
Chen thống kê Yu

Ngoài ra, tôi hy vọng có nó hỗ trợ tên thư mục không phải tiếng Anh.
Chen thống kê Yu

5

Nếu bạn đang sử dụng Linux (hoặc Mac hoặc bất kỳ môi trường nào được cài đặt), bạn có thể sử dụng công cụ dòng lệnh có tên ghostscript để kết hợp chúng.

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH file1.pdf file2.pdf file3.pdf

Bạn cũng có thể sử dụng cách sau để kết hợp tất cả các tệp trong thư mục hiện tại

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH *.pdf 

Bạn có thể tải về ghostscript tại đây . Cũng có phiên bản Windows, nhưng tôi đã không kiểm tra nó.


1
Nó cũng hoạt động trên windows. Tôi đã phải viết đường dẫn đầy đủ đến tệp thực thi ghostscript (trên PC của tôi, đó là "c: \ File File \ gs \ gs9.07 \ bin \ gswin32c.exe") và bản mở rộng "* .pdf" không hoạt động, nhưng ghostscript tự hoạt động hoàn hảo.
Pitarou

3

Tôi đã sử dụng giải pháp trên thành công. Tuy nhiên, trên hệ thống của tôi (Windows 7 64-bit) mã vì nó được thêm các tệp PDF theo thứ tự ngẫu nhiên (rõ ràng), không theo thứ tự chữ cái theo tên tệp.

Để có được nó để thêm các tệp theo thứ tự chữ cái, bạn sẽ cần thêm tham số sort-object vào lệnh DIR (còn gọi là Get-ChildItem) (đối tượng sort không có tham số nào ở đây vì tên tệp / bảng chữ cái là mặc định):

dir $inputfolder -r -include *.pdf -exclude $outputfile | sort-object | group DirectoryName % {& $PDFtk $.group CAT OUTPUT "$($.Name)\$outputfile" verbose}

Những người có tên tệp có dạng 1.pdf 2.pdf ... 10.pdf, v.v. chứ không phải 01.pdf 02.pdf .. 10.pdf cũng có thể muốn thử một biến thể của điều này:

pdftk *?.pdf *??.pdf *???.pdf *????.pdf cat output out.pdf

"giải pháp trên" - có lẽ bạn có nghĩa là giải pháp của nixda. Nếu câu trả lời của bạn được bình chọn cao hơn nixda thì nó sẽ ở dưới đây
mì vào

1

Có một công cụ Thao tác PDF nâng cao trực tuyến mới có tên là Sej-da vẫn đang trong giai đoạn Beta, có vô số chức năng PDF (bao gồm khả năng hợp nhất nhiều tệp pdf). Nó miễn phí và cũng có thể giúp đỡ nhu cầu của bạn.

http://sejda.com/

Một đánh giá ngắn gọn về các chức năng của nó đã được thực hiện chỉ một vài tuần trước bởi Phiên bản 3:

http://revision3.com/tzd Daily / sejda-online-pdf


OP rõ ràng có khả năng hợp nhất các tập tin pdf, anh ấy muốn hợp nhất hàng loạt với một quy trình tự động. Câu trả lời của bạn không cung cấp thông tin chi tiết về cách sử dụng sejda theo cách này, cũng không rõ ràng từ trang web của họ

1

Có lẽ tốt hơn là sử dụng một kịch bản hàng loạt. Tạo và thu thập tất cả các tệp pdf của bạn dưới dạng xxxx.abcdef.pdf.

Phần đầu tiên là cái gọi là thẻ batch; phần thứ hai là định danh tệp (tên tệp). Thẻ cho mỗi mặt sau là tương tự về chiều dài và giá trị; Tên của các tập tin đến sau điểm.

Chẳng hạn, lô đầu tiên của bạn bao gồm 1111.3425.pdf, 1111.76501.pdf, v.v. Lô thứ hai của bạn là 22222,1432.pdf, 22222.4398, v.v. Và cứ như vậy cho các đợt khác.

Sau đó, bạn có thể sử dụng phần mềm hợp nhất tự động có thể xử lý hàng ngàn tệp tạo hợp nhất riêng cho từng lô. Tôi tìm thấy phần mềm miễn phí Dysprosium này không cần dòng lệnh hoặc tập lệnh bó. Bạn có thể tải xuống dưới dạng tệp JAR di động. Nó có các kịch bản tự động khác nhau; một mô tả trong câu trả lời này là gắn thẻ và một là thư mục yêu cầu của bạn được tách ra.

Tùy thuộc vào phần cứng của bạn, bạn có thể hợp nhất hàng ngàn tệp thành các lô được định trước.


0

Hãy thử PDFMerge . Nhưng đừng sử dụng mẫu ban đầu mà bạn phải chọn từng tệp một. Thay vào đó, hãy đợi trang web kiểm tra cài đặt Java của bạn, sau đó nhấp vào liên kết "Thử ứng dụng JavaMerge Java Applet". Khi applet được tải và cho phép chạy, hãy nhấp vào nút Chọn tệp và bạn sẽ có thể chọn nhiều tệp (để hợp nhất thành một tệp).

Việc hợp nhất sẽ cực nhanh và có thể xử lý số lượng lớn tệp vì không có gì được tải lên trang web. Mọi thứ được thực hiện trong chính máy tính của bạn bằng cách sử dụng cài đặt Java của bạn.

PS: Xin lỗi nếu bạn đang tìm kiếm một phần mềm ngoại tuyến có thể được tùy chỉnh để tạo các tệp PDF duy nhất trên nhiều thư mục.


0

Nếu bạn ở trên mac, bạn có thể tạo một tập lệnh Automator để đạt được nhiệm vụ này. Làm cho nó như là một hành động thư mục và chỉ cần thả pdf vào đó và xem nó xảy ra! Nếu bạn muốn tôi có thể chỉ cho bạn cách, bạn có đang chạy mac không?


0

Trên Linux

Tôi đã viết dòng lệnh khá dài này

tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} dirname {} | uniq | xargs -L1 -I {} bash -c 'cd "$0" && pdftk *.pdf cat output binder.pdf' {}

Nhưng nó thực hiện công việc, tôi đã thử nghiệm nó, nó cũng hoạt động với bao nhiêu cấp độ thư mục bạn có. Chỉ cần chắc chắn rằng bạn chạy nó một gốc của cấu trúc thư mục.

Bạn cần pdftktreecho điều này và trên Ubuntu Linux, bạn có thể cài đặt nó với apt:

sudo apt install pdftk tree
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.