Substituir uma fonte em um documento PDF

13

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

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 posso ver incorporado no documento. Os glifos exibidos em branco incluem "i", "T", "V"; talvez outros que eu não tenha descoberto.

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

Atualmente, estou usando:

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

nariz grande
fonte
Qual software de visualização ou edição de PDF você está usando? Qual fonte é que os campos do formulário estão usando? E essa fonte foi incorporada depois que você salvou o formulário PDF em um nome de arquivo diferente?
Kurt Pfeifle
Obrigado pelo comentário, expandi a descrição para responder às suas perguntas.
Bignose
Mais uma pergunta: você pode nomear os glifos (que significa aproximadamente formas de letras) que deseja colocar nos campos do formulário e que aparecem apenas como lacunas?
Kurt Pfeifle
Sua fonte Caliban fica assim: linotype.com/de/202/caliban-schriftfamilie.html ou melhor, como este: fontspace.com/george-williams/caliban
Kurt Pfeifle
1
@bignose você encontrou uma solução para isso?
Jubei

Respostas:

5

É extremamente difícil substituir uma fonte incorporada em um PDF. Não conheço nenhum software gratuito como fala (licenciado pela GPL) ou gratuito como cerveja (gratuito) que provavelmente poderia fazer isso (desincorporando a fonte primeiro e depois reimplantando uma fonte sustentável). Conheço apenas dois produtos comerciais que fazem isso: pdfToolbox4, da callassoftware.com, e PitStop, da Enfocus (é claro que existem outros, mas eu não os conheço, 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ó tem permissão legal para 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.psque pode ajudar aqui:

  1. Instale o Ghostscript. Use a versão mais recente, 8.71.
  2. Faça o download do arquivo http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
  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. Tome nota de qualquer aviso ou mensagem de erro que o comando possa cuspir.
  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 fonte que são cópias daquelas incorporadas ao PDF.)


Aqui está outro bloco de construção que pode contribuir para alcançar o que você deseja. Você pode descompactar todas as partes / fluxos compactados do seu PDF, para poder editar o arquivo com mais facilidade com um editor de texto simples. (Aviso: editar PDFs não é uma tarefa simples e direta - seus esforços de edição exigirão um conhecimento substancial e inteligência sobre os formatos internos de arquivos PDF.)

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

  1. Baixe o arquivo http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
  2. Você pode ler os 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á descompactar todos os fluxos compactados 'flate' . (Se você não tiver sorte, seu arquivo também conterá fluxos usando outros métodos de compactação (como 'zip' ), que permanecerão inalterados por este comando.)

Kurt Pfeifle
fonte