Solución:
Existe una gran variedad de herramientas que pueden extraer marcadores de un pdf a un archivo de texto sin formato y viceversa. Algunos de los cuales son los siguientes:
- pdftk
- Caja de herramientas iText (solo versiones anteriores, obtenga itext-2.0.1.jar)
- pdfWritebookmarks herramienta que utilizo
- JPdfBookmarks que incluso tiene una GUI.
Además, tengo un script que puede convertir entre los formatos de muchas de estas herramientas: bmconverter.py.
Otra forma muy agradable es agregar marcadores a un pdf a través de pdflatex.
Puedes usar pdftk
para esto. Más información: Cómo exportar e importar marcadores PDF.
Exportar marcadores PDF en la línea de comandos de esta manera:
pdftk C:UsersSidDesktopdoc.pdf dump_data output C:UsersSidDesktopdoc_data.txt
Importe marcadores PDF desde un archivo de datos como este:
pdftk C:UsersSidDesktopdoc.pdf update_info C:UsersSidDesktopdoc_data.txt output C:UsersSidDesktopupdated.pdf
pdftk
El formato de marcador es un poco tedioso de escribir. En su lugar, creé mi propio script usando bash
, sed
, pdftk
y python3
. Compruébelo en este repositorio: https://github.com/SiddharthPant/booky
Entonces ahora puedo crear un archivo de texto (bkmrks.txt
) como este, que toma solo 5 minutos para escribir incluso para un pdf de 1000 páginas.
{
Title1, 1
Title2, 2
{
Subtitle1, 3
Subtitle2, 4
{
SubSubtitle1, 5
...
}
}
}
y luego usa mi script
./booky.sh pdf_file.pdf bkmrks.txt
esto crea automáticamente un pdf (pdf_file_new.pdf
) que tiene mis marcadores.
Esto va a funcionar en sistemas * nix si, en cambio, está en una máquina con Windows. Entonces primero instale python3
y pdftk
solo usa el booky.py
archivo en el repositorio para convertir bkmrks.txt
para pdftk
formato compatible
python3 booky.py < bkmrks.txt > output.txt
y luego use el comando de exportación para generar un archivo de datos volcados. Elimine los marcadores anteriores de ese archivo e inserte el contenido de output.txt
en lugar de usar una simple copia y pegar. Y luego vuelva a importar esos datos.
Si tiene una versión de un documento que tiene marcadores y desea copiarlos, una forma mucho más sencilla es usar PDF-XChange Viewer (yo usé v2.5.211). Abra el PDF que tiene los marcadores (el PDF de origen), seleccione todos los marcadores en el panel de marcadores, cópielos usando Ctrl + C, abra el PDF que no tiene los marcadores (el PDF de destino) y péguelos (Ctrl + V) en el panel de marcadores de ese PDF. PDF-Xchange Viewer conserva las propiedades de los marcadores tal como estaban en el PDF de origen (incluido cualquier formato de negrita / cursiva en el texto del marcador). Si por alguna razón algunas de las secciones del PDF de destino son más bajas o más altas debido a las revisiones realizadas en el documento, puede hacer clic en el marcador que necesita corrección, desplácese hasta el lugar de la página en el que desea que se abra el marcador, a la derecha- haga clic en el marcador de nuevo y haga clic en “Establecer destino”. Repita esta última parte según sea necesario para cualquier marcador ofensivo. Guarde el PDF de destino cuando haya terminado.
Esto funcionó muy bien para mí, fue bastante intuitivo y terminé en unos minutos. En mi escenario particular, un compañero de trabajo había producido un documento muy largo usando Word para Mac que no tenía marcadores. Debido a la longitud del documento, quería marcadores que se correspondieran con el esquema del documento. Podría hacer que Word para Windows guardara el documento como PDF con marcadores, pero algunas diferencias de formato entre Word para Windows y Word para Mac hicieron que el recuento de páginas fuera bastante erróneo (en particular, había diferencias en los espacios en blanco alrededor de los pies de página y diferencias en el espacio entre las figuras y el pie de foto). Pude jugar con los encabezados y pies de página y los tamaños de las figuras para obtener la paginación correcta en Word para Windows y luego guardarlos en PDF con marcadores. Desafortunadamente, todavía había algunas diferencias en el formato, por lo que solo deseaba aplicar los marcadores al PDF original, y fue entonces cuando descubrí la solución anterior.