SearchWP Documentation

Veja o guia de instalação, navegue pela Base de Conhecimento, descubra os muitos hooks do SearchWP

Integração Xpdf

Versão atual: 1.3.2

Aviso: Esta extensão requer o uso de exec() e também exige que você instale as ferramentas de linha de comando Xpdf por conta própria.

SearchWP oferece o recurso exclusivo de extrair texto puro de arquivos PDF enviados para o seu site WordPress. Por padrão, o SearchWP tenta fazer isso usando apenas PHP, mas devido à complexidade e variação do formato PDF, às vezes o conteúdo não é extraído com precisão. Apresentamos o Xpdf.

O Xpdf possui um conjunto de ferramentas de linha de comando que devem ser instaladas em seu servidor para que esta extensão funcione. As instruções estão incluídas aqui.

Usando a Extensão de Integração Xpdf, você pode descarregar todo o trabalho que o PHP precisa fazer no processamento de seus arquivos PDF para as ferramentas de linha de comando do Xpdf, que são extremamente rápidas e precisas na extração de conteúdo de seus PDFs. Após ativar a extensão, você precisará seguir as instruções de instalação. Uma vez instalado, o SearchWP descarregará o processo de extração de conteúdo de PDF para o Xpdf.

Instalando as ferramentas de linha de comando Xpdf

Usando esta extensão, você pode utilizar o Xpdf para extrair o conteúdo de seus PDFs.

IMPORTANTE: As ferramentas de linha de comando Xpdf não são fornecidas neste download da extensão. Você deve seguir estas instruções para baixar as ferramentas de linha de comando e enviá-las para um local não público (fora da sua raiz da Web).

Você pode baixar as ferramentas de linha de comando Xpdf para Windows e Linux em http://www.xpdfreader.com/download.html.

Instalação

Depois de baixar as ferramentas de linha de comando para o tipo do seu servidor:

  1. Extraia xpdf-tools-linux-4.03.tar.gz (o número da versão pode ser diferente)
  2. Envie o binário pdftotext (encontrado no diretório bin32 ou bin64 após a extração, dependendo da arquitetura do seu servidor) para um local não público, fora da sua raiz da Web
  3. Envie o binário pdfinfo (encontrado no diretório bin32 ou bin64 após a extração, dependendo da arquitetura do seu servidor) para um local não público, fora da sua raiz da Web
  4. Certifique-se de que tanto pdftotext quanto pdfinfo tenham permissões de execução para o usuário PHP em seu servidor

O último passo é informar ao SearchWP Xpdf Integration onde você instalou pdftotext e pdfinfo. Para fazer isso:

Adicione o seguinte ao seu plugin SearchWP Customizations, substituindo /path/to/pdftotext pelo caminho real para os binários pdftotext e pdfinfo (não a pasta) em seu servidor.

// Tell SearchWP the location of the pdftotext binary.
add_filter( 'searchwp_xpdf_path', function() {
    return '/home/johndoe/pdftotext'; // Full absolute path to the binary NOT A FOLDER, NOT A URL.
} );

// Tell SearchWP the location of the pdfinfo binary.
add_filter( 'searchwp_pdfinfo_path', function() {
    return '/home/johndoe/pdfinfo'; // Full absolute path to the binary NOT A FOLDER, NOT A URL.
} );

É isso!

Adicionando suporte a senha de PDF na Integração Xpdf

Xpdf suporta o processamento de PDFs protegidos por senha (leitura: não criptografados) usando o filtro searchwp_xpdf_command. Este filtro permite que você manipule diretamente o comando que está sendo executado para disparar o Xpdf e, como o Xpdf suporta uma opção para incluir uma senha, você pode fazer isso da seguinte forma:

<?php
function my_searchwp_xpdf_command( $cmd, $filename ) {
return $cmd . ' -upw password';
}
add_filter( 'searchwp_xpdf_command', 'my_searchwp_xpdf_command', 10, 2 );

Testando Manualmente a Integração Xpdf

Após o upload e ativação da Extensão de Integração Xpdf e a definição do seu caminho para o pdftotext, você pode confirmar manualmente que a extração de texto do Xpdf está funcionando como esperado em PDFs específicos enviados para sua biblioteca de mídia. Comece acessando a tela de Configurações do SearchWP (Configurações > SearchWP) e encontre o link Integração Xpdf nas Extensões na tela de configurações do SearchWP.

Na tela de Teste de Integração Xpdf, você pode inserir o ID do PDF que deseja testar:

Captura de tela 2013-12-09 às 11.34.24

O ID pode ser encontrado navegando até sua seção de Mídia e clicando no link Editar do seu PDF, o ID estará na URL, seguido por post=

Após enviar um ID válido, você receberá um log detalhado das etapas realizadas pela Extensão de Integração Xpdf, bem como quaisquer pontos de falha que possam ter ocorrido. Você também verá o conteúdo exato que o Xpdf extraiu do PDF:

Captura de tela 2013-12-09 às 11.36.16

Se o log exibir um ponto de falha, por favor, inclua-o em quaisquer solicitações de suporte que você enviar.

Códigos de erro da Integração Xpdf

Se o Xpdf teve algum problema ao executar, um dos códigos de erro listados abaixo será indicado no log.

Código de SaídaDescrição
0Comando executado com sucesso
1Captura geral para qualquer erro não especificado
2Problema de permissões, verifique se o www-data (ou o usuário do seu servidor web) tem permissões para executar pdftotext
11Falha de segmentação. Você está usando o binário Xpdf correto para o ambiente do seu servidor?
126Há um problema de permissões na execução do pdftotext pelo usuário do servidor web. Verifique com seu provedor para garantir as permissões adequadas.
127Seu servidor não conseguiu executar o pdftotext. Verifique com seu provedor para garantir que o usuário do servidor web possa executar o pdftotext.
139Há um problema de permissões na execução do pdftotext pelo usuário do servidor web. Verifique com seu provedor para garantir as permissões adequadas.

Registro de alterações

1.3.2

  • [Melhoria] Adiciona escape aos argumentos do comando shell
  • [Correção] Corrigido o link para a documentação da extensão

1.3.1

  • [Correção] Criação de propriedade dinâmica descontinuada no PHP 8.2+

1.3.0

  • [Novo] Adiciona suporte para pdfinfo extrair metadados de PDF
  • [Atualização] Atualizador atualizado

1.2.0

  • [Novo] Adiciona suporte para SearchWP 4

1.1.6

  • [Novo] Exibe aviso quando exec() não está disponível, pois é necessário
  • [Atualização] Atualizador atualizado

1.1.5

  • [Mudança] Xpdf agora é XpdfReader, o que resultou em uma mudança na formatação do comando. VOCÊ DEVE ATUALIZAR O pdftotext TAMBÉM. Por favor, consulte a documentação da Integração Xpdf para um link para o site do XpdfReader para baixar uma versão atualizada.
  • [Atualização] Atualizador atualizado

1.1.3

  • [Atualização] Atualizador atualizado
  • [Mudança] Versão mínima exigida do SearchWP atualizada

1.1.2

  • [Melhoria] Melhor tratamento do código de saída

1.1.1

  • [Novo] Novo filtro: searchwp_xpdf_command permitindo a manipulação do comando Xpdf

1.1

  • [Melhoria] Adicionado suporte para atualizações automáticas com base na chave de licença do SearchWP

0.7.2

  • [Correção] Melhor tratamento dos separadores de diretório do Windows

0.7

  • Lançamento inicial

Crie uma Experiência de Pesquisa WordPress Melhor Hoje

Nunca mais perca visitantes para resultados de pesquisa inúteis. O SearchWP torna a criação de sua própria pesquisa inteligente do WordPress rápida e fácil.

Get SearchWP Now
Ícone de Múltiplos Mecanismos de Busca