Substituir uma fonte em um documento PDF

12

Eu tenho um documento em PDF (não criptografado) com campos de formulário editáveis. No entanto, a fonte para esses campos está quebrada: faltam alguns glifos, então quando eu insiro texto aparecem algumas lacunas.

Como posso modificar o documento PDF - não tenho acesso ao documento de origem usado para criá-lo - para substituir uma fonte diferente no lugar da quebrada ?

A fonte em questão é o Caliban Regular , da Adobe, que eu posso ver no documento. Os glifos que exibem em branco incluem "i", "T", "V"; talvez outros que eu não tenha descoberto.

Eu também tenho outro documento semelhante usando o Caliban, que faz exibir corretamente, incluindo os glifos listados acima como quebrados. Se alguém puder me dizer como tirar uma fonte de um PDF e substituí-la em um PDF existente , isso seria uma solução.

Atualmente estou usando:

Eu estaria interessado em outras ferramentas de edição de PDF software livre (se preço zero ou não ), se eles ajudarem nessa tarefa.

    
por bignose 21.07.2010 / 10:20

1 resposta

4

É extremamente difícil substituir uma fonte incorporada em um PDF. Não tenho conhecimento de nenhum software gratuito (como licenciado por GPL) ou gratuito (como) em cerveja que poderia provavelmente fazer isso (ao desincorporar a fonte primeiro e, em seguida, reincluir uma fonte de suporte). Eu só conheço dois produtos comerciais que fazem isso: o pdfToolbox4 da callassoftware.com e o PitStop da Enfocus (é claro que há outros, mas eu não estou ciente deles e esses dois são os líderes de mercado aqui.

Aqui está uma maneira de extrair uma fonte incorporada de um PDF usando o Software Livre. Esteja ciente de que você só está legalmente autorizado a fazer isso, se a licença da fonte não a proibir. No repositório de código-fonte do Ghostscript, existe um utilitário de programa PostScript chamado extractFonts.ps , que pode ajudar aqui:

  1. Instale o Ghostscript. Use a versão mais recente, 8.71.
  2. Faça o download do arquivo link
  3. Você pode querer ler os comentários contidos no arquivo baixado.
  4. Execute o seguinte comando em uma caixa do DOS (cmd.exe):

    gswin32c.exe ^
        -q ^
        -dNODISPLAY ^
        C:/path/to/extractFonts.ps ^
        -c "(c:/path/to/your-pdf-file.pdf) extractFonts quit"
    
  5. Anote bem qualquer aviso ou mensagem de erro que o comando possa emitir.
  6. As fontes extraídas com sucesso agora serão armazenadas no diretório atual usando o mesmo nome que no PDF.

(Lembre-se de que extrair fontes aqui não significa remover as fontes do PDF, mas criar arquivos de fontes que são cópias daqueles embutidos no PDF.)

Aqui está outro bloco de construção que pode contribuir para alcançar o que você deseja. Você pode querer descomprimir todas as partes / fluxos compactados do seu PDF, para poder editar mais facilmente o arquivo com um editor de texto simples. (Aviso: a edição de PDFs não é uma tarefa simples e direta - seus esforços de edição exigirão know-how e conhecimento bastante importantes sobre os recursos internos do formato de arquivo PDF.)

Esse truque também usa um utilitário do subdiretório Subversion toolbin do Ghostscript.

  1. Faça download do link do arquivo
  2. Você pode querer ler comentários no arquivo baixado.
  3. Execute o seguinte comando em uma caixa do DOS (cmd.exe):

    gswin32c.exe ^
         -- ^
         c:/path/to/pdfinflt.ps ^
         c:/path/to/your-pdf-file.pdf ^
         c:/path/to/your-pdf-file-decompressed.pdf
    

Este comando tentará descomprimir todos os fluxos 'flate' -compressed. (Se você não tiver sorte, seu arquivo também conterá streams usando outros métodos de compactação (como 'zip' ), que permanecerão inalterados por este comando.)

    
por 25.07.2010 / 16:10