Aquí hay una solución de trabajo. Sin embargo, deberá ajustarlo para que se ajuste a sus necesidades.
En mi ejemplo, eliminé la primera página de un PDF y luego tuve que actualizar los marcadores para señalar las ubicaciones correctas.
eliminar la página 1 de in.pdf:
pdftk A=in.pdf cat A2-end output temp.pdf
cree un archivo in.info desde in.pdf:
pdftk in.pdf dump_data > in.info
in.info necesita ser corregido en mi caso, ya que eliminaré una página.
Por lo tanto, necesito disminuir BookmarkPageNumber en uno para que los marcadores conduzcan a las páginas correctas.
código php:
$file = "in.info";
$data = file_get_contents($file);
foreach (explode("\n", $data) as $row) {
$tmp = explode(": ", $row);
if ($tmp[0] == "BookmarkPageNumber") {
if ($tmp[1] != "1") $tmp[1]--;
echo $tmp[0].": ".$tmp[1]."\n";
} else {
echo $row."\n";
}
}
crear final out.pdf:
pdftk temp.pdf update_info in2.info output out.pdf
Probado trabajando en Debian usando pdftk 2.01
#!/usr/bin/python output = open('res.info','w') with open('temp.info','r') as f: for line in f: if line.startswith("BookmarkPageNumber"): output.write( "BookmarkPageNumber: "+ str(int(line.split()[1])+1)+"\n") else: output.write(line)
Debe hacerlo
pdftk in.pdf dump_data > in.info
, luego agregue elupdate_info
parámetro al generar elout.pdf
. Citando deman pdftk
:fuente
dump_data_utf8
paraupdate_info_utf8
trabajar, por supuesto.pdftk in.pdf dump_data > in.info
,pdftk in.pdf cat 1-22 43 23-42 44-end output out.pdf
ypdftk out.pdf update_info in.info output out1.pdf
Todavía no hay marcadores enout1.pdf
. `Al leer la página del manual con cuidado, dice que
update_info
toma datos en cualquier formato quedump_data
genere. Eso presumiblemente tendría que ajustarse de acuerdo con el cambio de página. No suena imposible , pero automático no lo es.El sitio PDFtk solo da el resultado anterior y crea / edita marcadores como resultados. Todo lo que Google sabe sobre el tema de los marcadores en PDF y la reorganización, son las visitas a las operaciones anteriores y las exposiciones líricas sobre las maravillas que ofrecen, y este hilo ;-).
Entonces parece que no se puede hacer. Los comentarios sugieren algunas posibilidades, que no funcionaron cuando se intentó.
fuente
"pdfmod" es una herramienta gráfica simple que permite eliminar una o páginas de modo de un PDF existente. Es solo cuestión de unos pocos clics. También conserva la información del contenido y la reticulación en el pdf.
"pdftk" funciona bien y lo estaba usando durante mucho tiempo, pero solía perder contenido después de eliminar una o dos páginas del pdf. Los archivos pdf que se prueban en "pdftk" y "pdfmod" se crean desde openoffice.
https://apps.fedoraproject.org/packages/pdfmod
fuente
pdfmod
parece mejor quepdftk
cuando se trata de preservar metadatos. Una diferencia deexiftool
salida muestra quepdfmod
conserva los metadatos, peropdftk
no conserva todo, incluso si usadump_data_utf8
&update_info_utf8
.