Mesclar PDFs na ordem correta

2

Estou procurando um caminho (de preferência usando a linha de comando no Linux) para mesclar PDFs separados de capítulos de livros em um único PDF do livro na ordem correta (talvez com base nos números de página nos PDFs ou em algumas heurísticas).

Por isso, quero poder ir para o diretório que contém todos os capítulos individuais e fazer

joinpdf-magic-command *.pdf

e ter o PDF de saída na ordem correta.

Encontrei muitas ferramentas para mesclar PDFs ( pdfjoin , pdftk ), mas todas colocam os PDFs na ordem em que aparecem na linha de comando.

editar:

Uma lista de capítulos de exemplo pode ser:

1-Introduction.pdf
2-The-analog-digital-interface.pdf
3-Adaptive-digital-systems.pdf
4-Non-linear-applications.pdf
5-Spectral-analysis-and-modulation.pdf
6-Introduction-to-Kalman-filters.pdf
7-Data-compression.pdf
8-Error-correcting-codes.pdf
9-Digital-signal-processors.pdf
Appendix-1-Solutions-to-problems.pdf
Appendix-2-A-MATLAB-Simulink-primer.pdf
Glossary.pdf
Index.pdf
Preface.pdf
References.pdf

Mas, para outros livros, haverá outras seções, seus nomes podem ser diferentes, e até mesmo seções com o mesmo nome podem ser destinadas a diferentes ordens. É por isso que mencionei que usar os números das páginas pode ser a chave.

    
por dshepherd 22.05.2015 / 11:49

2 respostas

3

Não há mágica que você possa usar para classificar os capítulos de seu livro automaticamente - não, se a convenção de nomenclatura de arquivos não for compatível. Este é um ato que tem que ser realizado por um humano.

A única maneira de fazer isso rápido é colocar os nomes de arquivos ordenados em um arquivo de texto, semelhante ao que você citou em seu OP.

Em seguida, basta executar:

pdftk $(cat mychapters.txt) cat output book.pdf
    
por 24.05.2015 / 02:31
2

Pessoalmente, eu não procuraria por uma nova ferramenta, mas por envolver seu fluxo de trabalho em um script para impor a ordem correta.

Eu suponho que você tenha alguma maneira de identificar a ordem correta, caso contrário, isso não será possível. Idealmente, você teria os arquivos nomeados de forma que eles caíssem automaticamente na ordem correta:

01ChapterTitleOne.pdf
02ChapterTitleTwo.pdf
etc.

e assim por diante. Você pode ter o número do capítulo no final (como no exemplo de Michael), que quebra o tipo. Nesse caso, você deve adicionar uma etapa ao seu script de fluxo de trabalho que renomeie os arquivos para que eles caiam na ordem correta.

Contanto que os arquivos sejam nomeados consistentemente, isso não deve ser um problema. Se você puder compartilhar mais informações sobre a nomenclatura, tenho certeza de que podemos criar um script BASH para fazer isso.

Depois de ter tudo corretamente nomeado, você poderá usar o mesmo comando iniciado na segunda etapa do script de fluxo de trabalho. Se isso não funcionar, você precisará de um script BASH um pouco mais complexo que faça um loop sobre os arquivos na ordem correta.

Tudo isso é padrão para scripts BASH, mas tudo gira em torno de uma nomenclatura consistente dos arquivos.

    
por 22.05.2015 / 16:52

Tags