Adobe Acrobat: Birden fazla pdf dosyasını birleştirmek için toplu iş nasıl yapılır?


10

3 klasörüm var:

Folder 1 
Folder 2
Folder 3

Her klasörde 5 pdf dosyası var:

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

Her klasörde bu iki dosyanın birleştirilmiş bir dosya olmasını istiyorum:

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

Herhangi bir fikir? Elle yapmayı söyleme. Bu dava sadece sorunumu açıklamak içindir. Yüzlerce klasörüm olduğunu düşünüyorum. :) Belki Adobe Acrobat yerine başka bir araç kullanabilirim ?!


"Bu iki dosyanın birleşik bir dosyasına sahip olmak" ile tam olarak ne demek istiyorsun ? Misiniz bağlamak ve sizin için 1 PDF işin içine bu iki dosyayı birleştirmek?
Kurt Pfeifle

Adobe Acrobat veya Adobe Acrobat Reader ?
wmz

@AndreiAndre Sorunuza birçok iyi çözüm gönderildi. Belki de tüm ihtiyaçlarınıza uygun olanı seçebilir ve kabul edilmiş olarak işaretleyebilirsiniz.
nixda

Yanıtlar:


12

Bunu kısa bir toplu iş dosyası ve pdftk.exe ( GUI sürümü olan pdftk Builder değil ) ile yapabilirsiniz.
Hiçbir şey kurmaya gerek yoktur.

Hazırlık

  • indir ve UniExtract ile pdftk ayıklayın
  • .. \ pdftk \ bin * dosyasını açın ve pdftk.exe ve libiconv2.dll dosyasını istediğiniz bir klasöre kopyalayın
  • yeni bir metin dosyası oluşturun ve aşağıdaki kodu yapıştırın

    @Eko kapalı
    setlocal etkinleştirilmiş genişleme
    %% A IN İÇİN (% *) DO (komut =! Komutunu ayarla! %% A)
    pdftk.exe% command% cat çıktı "% ~ dp1binder.pdf"
    
  • Olarak kaydedin merge@pdf.cmd pdftk.exe ve libiconv2.dll aynı klasöre resim açıklamasını buraya girin
  • bu .cmd'nin bir kısayolunu oluşturun ve sendto klasörünüze yerleştirin ( Win+ R»shell: sendto)

kullanım

  • Bazı PDF dosyaları içeren bir klasöre gidin ve istediğiniz kadar PDF seçin
  • Onları sağ tıklayın ve az önce oluşturduğunuz kısayolu seçin
  • seçilen tüm PDF'lerin tek bir klasörde birleştirildiği aynı klasörde yeni bir bağlayıcı PDF oluşturulacak

    resim açıklamasını buraya girin

Güncelleme: Oluşturulan pdf için geçerli klasör adını dosya adı olarak kullanan sürüm

@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"

ÇOK güzel bir cevap. Ben değiştirmek için mücadele ediyorum, bu yüzden binder.pdf yerine FOLDERNAME olarak kaydeder. Bunu nasıl yapabilirim?
Chen Stats Yu

@ChenStatsYu Güncellemeye bakın
nixda

HARİKA!! Tekrar sormak için üzgünüm, yeni bir gönderi başlatmam gerekip gerekmediğinden emin değilim. Sadece son bir istek, bunu yaklaşık 40/50 klasör için tekrarladığım için, klasörden bazı pdfs seçmek yerine cmd'ye "klasör" göndermek ve klasör adını kullanmak için değiştirebilir miyiz?
Chen Stats Yu

Ayrıca, İngilizce olmayan klasör adlarını desteklemesini umuyorum.
Chen Stats Yu

5

Linux'ta (veya Mac'te veya yüklü olduğu herhangi bir ortamda) iseniz, bunları birleştirmek için ghostscript adlı bir komut satırı aracını kullanabilirsiniz.

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

Geçerli klasördeki tüm dosyaları birleştirmek için aşağıdakileri de kullanabilirsiniz

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

Ghostscript'i buradan indirebilirsiniz . Bir Windows sürümü de var, ancak test etmedim.


1
Pencerelerde de çalışır. Ghostscript çalıştırılabilir tam yolunu yazmak zorunda kaldım (bilgisayarımda "c: \ Program File \ gs \ gs9.07 \ bin \ gswin32c.exe") ve "* .pdf" genişletmesi çalışmıyor, ancak ghostscript kendisi mükemmel çalışır.
Pitarou

3

Yukarıdaki çözümü başarıyla kullandım. Ancak, sistemimde (Windows 7 64-bit) kod olduğu gibi PDF'leri dosya adına göre alfabetik olarak değil (rastgele) rastgele sırada ekler.

Alfabetik sırayla dosya eklemesini sağlamak için, DIR (Get-ChildItem olarak da bilinir) komutuna sort-object parametresini eklemeniz gerekir (sort-object burada parametre olarak almaz / varsayılan olarak dosya adı / alfabetiktir):

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

01.pdf 02.pdf .. 10.pdf yerine 1.pdf 2.pdf ... 10.pdf vb. Dosya adlarına sahip olanlar da bunun bir varyasyonunu denemek isteyebilir:

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

"yukarıdaki çözüm" - muhtemelen nixda'nın çözümünü kastediyorsunuz. Cevabınız nixda'dan daha yüksek seçildiyse aşağıda olurdu
noodle

1

Sej-da adında hala Beta'da olan ve sayısız PDF işlevine sahip (birden fazla pdfs birleştirme yeteneği) yeni bir çevrimiçi Gelişmiş PDF Manipülasyon aracı var. Ücretsizdir ve ihtiyaçlarınıza yardımcı olabilir.

http://sejda.com/

Revizyon 3 tarafından işlevlerinin sadece birkaç hafta önce kısa bir incelemesi yapıldı:

http://revision3.com/tzdaily/sejda-online-pdf


OP açıkça pdf dosyalarını birleştirme yeteneğine sahiptir, otomatik bir işlemle toplu birleştirme yapmak istiyor. Cevabınız sejda'nın bu şekilde nasıl kullanılacağı hakkında hiçbir ayrıntı vermiyor, web sitelerinden de belli değil
noodle

1

Bir toplu iş senaryosu kullanmak belki daha iyidir. Tüm pdf dosyalarınızı xxxx.abcdef.pdf olarak oluşturun ve toplayın.

İlk bölüm, toplu etiket olarak adlandırılır; ikinci kısım dosya tanıtıcısıdır (dosya adı). Her sırt için etiket uzunluk ve değer bakımından benzerdir; dosya adı noktadan sonra gelir.

Örneğin, ilk partiniz 1111.3425.pdf, 1111.76501.pdf, vb. İkinci partiniz 22222.1432.pdf, 22222.4398, vb. Diğer partiler için de böyle devam eder.

Ardından, her toplu iş için ayrı bir birleştirme oluşturan binlerce dosyayla başa çıkabilen otomatik birleştirme yazılımını kullanabilirsiniz. Bir komut satırı veya toplu komut dosyası gerektirmeyen bu Dysprosium özgür yazılımını buldum . Taşınabilir bir JAR dosyası olarak indirebilirsiniz. Farklı otomatik senaryoları vardır; bunlardan biri bu yanıtta etiketleme, diğeri ise gerekli klasör olarak tanımlandı.

Donanımınıza bağlı olarak binlerce dosyayı önceden belirlenmiş toplu işlerde birleştirebilirsiniz.


0

PDFMerge'yi deneyin . Ama yok sen tek her dosya birini seçmek zorunda nerede başlangıç formu kullanın. Bunun yerine, sitenin Java yüklemenizi kontrol etmesini bekleyin, ardından "PDFMerge Java Uygulamasını Deneyin" bağlantısını tıklayın. Uygulama yüklendikten ve çalışmasına izin verildiğinde, Dosya seç düğmesine tıklayın, birden fazla dosya seçebileceksiniz (bir dosyada birleştirmek için).

Birleştirme süper hızlı olacak ve web sitesine hiçbir şey yüklenmediği için çok sayıda dosyayı işleyebilecektir. Java yüklemenizi kullanarak her şey bilgisayarınızın kendisinde yapılır.

Not: Birden fazla klasörde tek bir PDF dosyası oluşturmak için özelleştirilebilen bir çevrimdışı yazılım arıyorsanız üzgünüz.


0

Mac kullanıyorsanız bu görevi gerçekleştirmek için bir Automator betiği oluşturabilirsiniz. Bir klasör eylemi olarak yapın ve sadece pdf'leri içine bırakın ve olduğunu görün! İstersen sana nasıl olduğunu gösterebilirim, mac mu çalıştırıyorsun?


0

Linux'ta

Bu oldukça uzun komut satırını yazdım

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

Ama bu işi yapıyor, test ettim, aynı zamanda kaç klasör seviyenizle de çalışıyor. Klasör yapısının kökü olarak çalıştırdığınızdan emin olun.

İhtiyacınız var pdftkve bunun treeiçin ve Ubuntu Linux'ta apt ile yükleyebilirsiniz:

sudo apt install pdftk tree
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.