Estoy buscando una manera (preferiblemente usando la línea de comando en Linux) de fusionar archivos PDF separados de capítulos de libros en un solo PDF del libro en el orden correcto (tal vez según los números de página dentro de los archivos PDF o en algunas heurísticas). .
Entonces quiero poder ir al directorio que contiene todos los capítulos individuales y simplemente hacer
joinpdf-magic-command *.pdf
y haga que el PDF de salida esté en el orden correcto.
Encontré muchas herramientas para fusionar archivos PDF ( pdfjoin
, pdftk
), pero todas colocan los archivos PDF en el orden en que aparecen en la línea de comando.
editar:
Un ejemplo de lista de capítulos podría 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
Pero para otros libros habrá otras secciones, sus nombres pueden ser diferentes e incluso secciones con el mismo nombre pueden estar destinadas a ir en diferentes órdenes. Por eso mencioné que usar los números de página podría ser la clave.
Respuesta1
No hay magia que puedas usar para ordenar los capítulos de tu libro automáticamente, no, si la convención de nomenclatura de archivos no lo admite. Este es un acto que debe ser realizado por un ser humano.
La única manera de hacerlorápidoes poniendo los nombres de archivos ordenados en un archivo de texto, similar a lo que citó en su OP.
Luego simplemente ejecuta:
pdftk $(cat mychapters.txt) cat output book.pdf
Respuesta2
Personalmente, no buscaría una nueva herramienta, sino envolver su flujo de trabajo en un script para imponer el orden correcto.
Supongo que tienes alguna forma de identificar el orden correcto, de lo contrario esto no será posible en absoluto. Lo ideal sería que los archivos tuvieran nombres que automáticamente cayeran en el orden correcto:
01ChapterTitleOne.pdf
02ChapterTitleTwo.pdf
etc.
etcétera. Sin embargo, es posible que tengas el número del capítulo al final (como en el ejemplo de Michael), lo que interrumpe el orden. En ese caso, debe agregar un paso a su script de flujo de trabajo que cambie el nombre de los archivos para que estén en el orden correcto.
Siempre que los archivos tengan nombres coherentes, esto no debería ser un problema. Si puede compartir más información sobre el nombre, estoy seguro de que podemos crear un script BASH para hacer esto.
Una vez que haya nombrado todo correctamente, debería poder usar el mismo comando con el que comenzó como segundo paso del script del flujo de trabajo. Si eso no funcionó, entonces necesitaría un script BASH un poco más complejo que recorra los archivos en el orden correcto.
Todo esto es algo estándar para las secuencias de comandos BASH, pero todo gira en torno a tener nombres consistentes para los archivos.