Questão Como mesclar vários arquivos PDF?


Há um monte de software no Windows para mesclar arquivos PDF, mas como podemos fazer o mesmo no Ubuntu?


281
2017-08-21 06:11


origem


eu encontrei esse link - Grijesh Chauhan


Respostas:


PDF-Shuffler  Install PDF-Shuffler 

Se você quer uma ferramenta com uma interface gráfica simples, tente pdfshuffler. Ele permite mesclar PDFs, bem como reorganizar e excluir páginas. Para processamento em lote e / ou tarefas mais complicadas, o pdftk é obviamente mais poderoso.

Screenshot of PDF-Shuffler


171
2017-08-21 10:08



Eu tentei isso - não funcionou em 10.04 - David Oneill
Em 12.04, o pdfshuffler sempre reclama que existem "valores demais para desempacotar", tornando-o inutilizável. - despens
Instala e funciona como um encanto em 14.04. Muito obrigado!! - Zlatty
Eu também posso confirmar pdfshuffler funciona bem em 14.04 amd64. - conualfy
Também funciona muito bem em 16.04.1 - Sanjay Manohar


pdftkInstall pdftk

Para mesclar dois arquivos pdf, file1.pdf e file2.pdf:

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

Mais informação disponível AquiMáquina de Traseira.


275
2017-08-21 07:42



pdftk é buggy - bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908. gs pode ser lento, mas funciona perfeitamente [resposta do IgnitE] - Pushpak Dagade
Obrigado! O Pdftk faz a fusão simples e básica muito bem. Mais do que suficiente para minhas necessidades. YMMV. - Marky
@PushpakDagade O ghostscript mexe com anotações, particularmente os comentários que foram verificados (caixa de seleção marcada com marca de seleção), não terão mais essa marca de seleção. Eu não estou ciente de uma maneira de contornar isso. Além disso, se você mesclar PDF v1.5 + 1.6, a saída será 1,4 por padrão. Isso é um comportamento estranho. - Jonathan Komar
pdftk tem um uso incomum onde os comandos cat e output siga os argumentos de entrada variadic e seguidos novamente por um argumento de saída. - Jeff Puckett
O pacote parece ter sido removido em 2018.04. - Nicolas Raoul


Ghostscript é um pacote (disponível por padrão no Ubuntu) que permite visualizar ou imprimir arquivos PostScript e PDF em outros formatos ou convertê-los em outros formatos.
Para usar o Ghostscript para combinar arquivos PDF, digite algo como o seguinte:

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

Aqui está uma breve explicação do comando:

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.

Seus arquivos de entrada nem precisam ser arquivos PDF. Você também pode usar arquivos PostScript ou EPS, ou qualquer mistura dos três.

Há muita coisa que você pode fazer com o Ghostscript. Você pode ler seus documentação para mais detalhes.

Fonte


125
2018-02-17 02:27



Verdade, mas é incrivelmente lento. Eu tentei concatenar 45 x 400 K, PDFs de página única. pdftk levou 0m0.484s, gs levou 1m32.898s (quase 200x mais lento) O arquivo de gs foi cerca de 21% menor embora. - aidan
Esse comando também funciona se você usar um caractere curinga para a lista de arquivos a serem combinados. por exemplo, substitua file1.pdf file2.pdf com file*.pdf - Antonios Hadjigeorgalis
Para mim gs trabalhou com alguns PDFs "não conformes" onde pdftk iria apenas correr para sempre. - ntc2
Isso funcionou perfeitamente para minha necessidade! - dsh
@AntoniosHadjigeorgalis Apenas para referência e bom entendimento: esse não é o comando que suporta curingas, que na verdade é o shell que substitui file*.pdf com file1.pdf file2.pdf antes de passar os argumentos para o comando. - Midgard


Você também usa o pdfunite para mesclar documentos em PDF:

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

55
2017-11-12 12:09



AVISO: um arquivo existente out.pdf será sobrescrito sem aviso, então pdfunite *.pdf não funcionará como esperado. - krlmlr
@krlmlr Você pode sempre colocar a saída em outro diretório. - BЈовић
Justo, cp também sobrescreve o último argumento sem aviso. Isto é apenas para usuários correndo (como eu) - Eu tive sorte de ter um backup do arquivo em questão ... - krlmlr
Nota positiva: Esta é uma ferramenta de linha de comando simples sem uma interface gráfica do tipo clique e saliva como muitas outras respostas aqui. Ele encapsula bem as complexidades da solução (em grande parte equivalente) do GhostScript. - tripleee
Isso também é muito rápido. Faz bem o trabalho. Em um servidor muito lento (aws t1.micro), o gs leva 9 segundos, o pdftk leva 4 segundos e este pdfunite leva 0.9 segundos para mesclar dois arquivos! - rsmoorthy


Cadeia PDF  Install PDF Chain 

Uma ótima solução é o PDFChain. É GUI é um frontend do PDFTK onde você pode mesclar, dividir ou até mesmo adicionar algum background aos seus arquivos PDF.


33
2018-01-31 16:16



Esta é a melhor resposta. Ele funciona perfeitamente, independentemente da versão do Ubuntu. - Paulo Coghi
Trabalhou no Ubuntu 14.04 sem problemas! - my account_ram
Funciona muito bem no Ubuntu 18.04! - orschiro
tão goo que foi removido do software do Ubuntu em 18.04 (!?) - user2413


Experimente o PDFMod, é do projeto GNOME:

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


10
2017-09-16 21:35



não faz fusão. - user2413


Eu uso pdfseparate para extrair páginas específicas do arquivo pdf grande:

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

e depois eu me juntar a eles todos via comando:

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

Isso une:

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

para dentro:

out2014-12-14_23_25_36.pdf

Pode ser que haja uma maneira mais fácil de lidar ... :-)


6
2017-12-14 22:37



A substituição do processo é supérflua e potencialmente até prejudicial. Uma linha de comando correta e muito mais simples é pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf mas falta a encomenda de ls -v. Uma correção óbvia e trivial é nomear seus arquivos para que eles classifiquem naturalmente na ordem em que você deseja incluí-los. Se você quer absolutamente ls -v, você pode pelo menos perder o tubo para tr, que não realiza nada aqui. - tripleee


Você também pode usar jPDFTweak, pdfsam ou pdfjam.

(Dito isso, eu uso o pdftk.)


5
2017-09-16 21:42





Use o pdfsam http://www.pdfsam.org/ é muito bom dividir e mesclar pdfs


5
2018-06-03 13:32





Você pode usar pdftk para mesclar e modificar documentos PDF em geral. Alternativamente, há um serviço online para fazer exatamente isso: http://www.pdfmerge.com/


3
2017-08-21 06:29