Tengo dos archivos pdf con la misma cantidad de páginas y quiero comparar cada página con la página correspondiente en el otro archivo. Para esto, me gustaría fusionar, por ejemplo, la página 1 de File1.pdf con la página 1 de File2.pdf para obtener una página en el nuevo documento. Luego, la página 2 de File1.pdf con la página 2 de File2.pdf y conviértala en la página 2 del nuevo archivo.
Enesta preguntaYa aprendí que puedo poner dos páginas en una con la --nup
opción del pdfjam
comando:
pdfjam File1.pdf File2.pdf --nup 2x1 --landscape --outfile File1+2.pdf
Lo mismo se puede lograr con el ImageMagick
paquete:
montage *.pdf merged.pdf
Pero esto junta las páginas 1 y 2 del primer archivo y hace lo mismo más adelante con el segundo archivo, no como se esperaba.
Lo que hice fue dividir los dos documentos. El primer archivo tenía números pares en el nombre del archivo, el segundo números impares (en realidad, creé los archivos nuevamente con los nombres de archivo apropiados). Luego fusioné todos los archivos nuevamente con
pdftk *.pdf cat output merged.pdf
y finalmente poner dos páginas en una con
pdfjam --nup 2x1 --landscape --outfile merged2up.pdf merged.pdf
Podría escribir un script con un bucle para hacer esto, pero me preguntaba si existe una frase sencilla para lograrlo. ¿Quizás no encontré el comando pdfjam, pdftk o ImageMagick correcto?
Respuesta1
Puede dividir File1.pdf y File2.pdf en páginas y luego combinar esos archivos tmp en File1+2.pdf de esta manera:
# Split files, note the naming scheme
pdfseparate File1.pdf temp-%04d-file1.pdf
pdfseparate File2.pdf temp-%04d-file2.pdf
# Combine the final pdf
pdfjam temp-*-*.pdf --nup 2x1 --landscape --outfile File1+2.pdf
# Clean up
rm -f temp-*-*.pdf
Respuesta2
Yo usaría esto:
sudo apt install psutils
sudo apt install ghostscript
pdf2ps -sOutputFile=input1file%d.ps input1file.pdf input1file.ps # cut to individual pages
pdf2ps -sOutputFile=input2file%d.ps input2file.pdf input2file.ps
psmerge -oinput.ps *.ps # put them together page by page from the alternative files
pstops -p a4 "2:[email protected](21cm,0)[email protected](21cm,14.85cm)" input.ps output.ps # put 2 pages on one
ps2pdf output.ps output.pdf # convert back to pdf
Quizás lo aprecies. Me gusta porque es pequeño y rápido, pero las páginas de manual necesitan mejorar. :-(
Respuesta3
(Si no entiendo mal lo que necesita el OP), aquí hay una solución simple
pdftk A=File1.pdf B=File2.pdf shuffle A B output tmp-Figure1+2.pdf
pdfjam tmp-Figure1+2.pdf --nup '2x1' --landscape --outfile Figure1+2.pdf
rm tmp-Figure1+2.pdf
Con pdftk ... shuffle A B ...
, creas un archivo PDF intermedio que se verá así
File1-page1
File2-page1
File1-page2
File2-page2
. . . .
Luego, con pdfjam
, fusionas las páginas pares e impares del archivo intermedio:
File1-page1 File2-page1
File1-page2 File2-page2
. . . .
Se me ocurrió esta solución y la probé.
Respuesta4
R, err, un poco tarde, pero puede ser útil para alguien más.
El enfoque original del OP, mostrar páginas una al lado de la otra, se puede lograr con la otra respuesta dada.
Sin embargo, el enfoque puede resultar arduo si el objetivo es encontrar alguna pequeña diferencia textual. Para ello, utilice un pdfdiff, del cual hay algunos de diferentes autores, comerciales, de código abierto, de línea de comandos y GUI por igual.
https://duckduckgo.com/?q=pdfdiff&t=ffab&ia=software
Tenga en cuenta que este enfoque no es tan eficaz para las imágenes, ya que las imágenes "idénticas" pueden codificarse de forma diferente.