A correspondência de padrões de texto no corpo de um PDF e adicionar hiperligações com PHP

StackOverflow https://stackoverflow.com/questions/3619462

Pergunta

A situação é a seguinte:Eu tenho uma série de grandes e gordas arquivos PDF, cheio de imagens e aleatoriamente distribuídos texto - estas são as seções de um enorme promocionais de preços para uma vasta gama de produtos.O que eu preciso é o padrão de combinar com todo o catálogo de códigos no texto de um arquivo PDF e para envolvê-lo com uma hiperligação que aponta para a respectiva página numa loja on-line.

Assim, a tarefa é muito simples - digitalização de um arquivo PDF para todos de texto sem formatação 10 dígitos de sequências, e converte-las em links cujo href é http://something?code=[match].

Eu também prefiro colocar em um script PHP, se possível, mas qualquer linguagem faria.Eu tenho um pressentimento de que talvez até mesmo o flash pode ser uma opção.

Qualquer idéias?Obrigado antecipadamente.

EDITAR:

Algumas respostas próximos são a ensinar-me pcre sintaxe.O problema aqui é que eu precisa para procurar e substituir em um arquivo PDF.Portanto, o problema é duplo.Dizer que vai fazer isso no PHP:

  • Como leitura / gravação para um PDF no PHP?
  • Como PDFs não são ficheiros de texto simples, eu não posso apenas regex contra eles, e eu também acredito que o PDF links não estão agrupadas em conjunto com o texto, mas vêm separados como regiões.O que também significa que eu poderia talvez sobreposição de um ativo retângulo sobre as coordenadas do código de catálogo personagens, se eu só sabia de onde um combinado de código reside em uma página.

O que você acha?Outros idiomas também são uma opção.

Obrigado.

Foi útil?

Solução

A substituição de texto em um PDF é difícil e nenhuma das open source PDF soluções de suporte a este recurso.

Apago (www.apago.com) desenvolveu um solução comercial para a substituição de texto em arquivos PDF.Ele é usado por cartão de saudação fabricante para modificar os preços, "MADE IN" o texto, números de produto, etc.

Outras dicas

<?
$s="
http://something.com?code=3000 asdf text
http://something.com?code=5000 asdf
";
echo preg_replace('/(http:\/\/something\.com\?code=(\d+))/s', '<a href="$1">$2</a>',$s);
?>

saída 3000 asdf texto

5000 asdf

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top