Aqui está uma solução de trabalho. No entanto, você precisará ajustá-lo para atender às suas necessidades.
No meu exemplo, removi a primeira página de um PDF e, em seguida, precisei atualizar os marcadores para apontar para os locais corretos.
-
remova a página 1 de in.pdf:
pdftk A=in.pdf cat A2-end output temp.pdf
-
crie um arquivo in.info a partir de in.pdf:
pdftk in.pdf dump_data > in.info
-
in.info precisa ser corrigido no meu caso, já que vou remover uma página.
Assim, eu preciso diminuir BookmarkPageNumber por um para os marcadores para levar às páginas corretas.
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"; } }
-
criar final out.pdf:
pdftk temp.pdf update_info in2.info output out.pdf
testado trabalhando no debian usando o pdftk 2.01