Página 1 de 1
Separar um arquivo PDF por páginas
Enviado: 21 Mar 2025 18:38
por kakamachado
Caros amigos, preciso de uma rotina/função em harbour que leia um arquivo PDF com várias páginas e grave diversos arquivos PDF, cada um correspondente a uma página do arquivo original. Alguém pode ajudar?
Separar um arquivo PDF por páginas
Enviado: 21 Mar 2025 22:45
por developer
E sobre usar um programa externo que faça isso? Não seria mais fácil?
O
PDFill faz isso:
Código: Selecionar todos
You can start a batch job in Windows by issuing the execution command directly from the MS-DOS command prompt window without opening the PDFill GUI.
Note: Please put "" on your file name with space. Make sure all command is in one line.
Split a PDF into a new PDF according to page number selection
"C:\Program Files\PlotSoft\PDFill\PDFill.exe" SPLIT "1,3-6,10,13,24" Input.pdf Output.pdf
Extract a PDF into a serial of single or multiple pages:
"C:\Program Files\PlotSoft\PDFill\PDFill.exe" EXTRACT 3 Input.pdf Output.pdf
Extract a PDF into a serial of pages using Top Level Bookmark
"C:\Program Files\PlotSoft\PDFill\PDFill.exe" EXTRACT BOOKMARK Input.pdf Output.pdf
Extract a PDF into a serial of pages using File Size
"C:\Program Files\PlotSoft\PDFill\PDFill.exe" EXTRACT 1.50MB Input.pdf Output.pdf
Delete PDF Pages selected into a new PDF
"C:\Program Files\PlotSoft\PDFill\PDFill.exe" DELETE "1,3-6,10,13,24,last,4-last,even" Input.pdf Output.pdf
Detalhe: (It is only available for the registered user of PDFill PDF Editor)
Alternativamente pode tentar também com
PDF Toolkit, parece que este não precisa registrar.
Separar um arquivo PDF por páginas
Enviado: 22 Mar 2025 11:40
por developer
Fiz um teste aqui com Ghostscript (
úlitma versão 64bits):
Código: Selecionar todos
PROC MAIN()
CLS
? 'Rotina de testes Ghostscript'
RUN gswin64c -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -dFirstPage=2 -dLastPage=3 -sOUTPUTFILE=resultado1.pdf teste.pdf
RUN gswin64c -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOUTPUTFILE=resultado2.pdf teste.pdf resultado1.pdf
WAIT 'Fim da rotina'
RETURN
O resultado para mim foi muito satisfatório, na instalação do
Ghostscript já coloca o executável no PATH automaticamente.
Separar um arquivo PDF por páginas
Enviado: 22 Mar 2025 12:08
por kakamachado
Mário, obrigado pela sugestão. Vou avaliar, mas se alguém tiver algo no próprio Harbour e puder ajudar, agradeço.
Separar um arquivo PDF por páginas
Enviado: 22 Mar 2025 12:59
por developer
Pelo que eu tenha conhecimento, algo do próprio Harbour teria que ser desenvolvido, é possível, mas daria bastante trabaho.
O Ghostscript é gratuíto, muito usado e difundido, provavelmente já está até instalado na sua máquina pois outros programas usam o Ghostscript, como impressoras virtuais, etc...
Um detalhe, não haverá interferência no seu programa (não vai aparecer nada na tela), será transparente para o usuário final, realmente fiquei muito satisfeito.
O comando para extrair todas as paginas é este:
Código: Selecionar todos
gswin64c -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dQUIET -sOutputFile="output-%03d.pdf" "input.pdf"
Mas quem sabe alguém já desenvolveu algo assim? Vamos ver se alguém se pronuncia.