Existe uma maneira confiável para determinar se um PDF foi gerado a partir de um arquivo de PowerPoint?

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

  •  06-07-2019
  •  | 
  •  

Pergunta

Como o título diz. Razão que eu peço é que estamos convertendo PDFs em texto ASCII formatado (usando pdftotext) e apenas deseja exibir os que parecem razoavelmente sã.

arquivos PPT tendem a ter texto sobre imagens, texto diagonal e outras coisas que não se traduzem em ASCII muito bem, então nós gostaríamos de filtrá-los, se pudermos.

Foi útil?

Solução

A aplicação criação de um PDF é listado em seus metadados XMP. Você pode ver isso facilmente no Acrobat 9 (e eu acredito que mais cedo): ir para File > Properties, clique Additional Metadata..., em seguida, ir para Advanced e está listado em ambos os XMP principais propriedades e Propriedades de PDF :

xmp:CreatorTool: Microsoft PowerPoint
pdf:Creator: Microsoft PowerPoint

Eu estou supondo que você quer encontrar isso programaticamente, então você precisa encontrar uma biblioteca para ler este metadados que trabalha com seu idioma. Aqui é uma lista de algumas ferramentas XMP.

Outras dicas

Resposta curta:

Não, eu não penso assim.

Resposta longa:

Não, eu não penso assim, porque há maneiras de maio para converter um arquivo de PowerPoint para PDF, por exemplo, Adobe Acrobat e PDFCreator e muitos outros. É até os conversores para informações específicas incorporar no arquivo PDF, mesmo se você encontrar uma maneira de detectar PowerPoint-source pdf a partir de um convertido, o mesmo método pode não funcionar para outra.

resposta ainda mais:

Não, eu não penso assim, por causa das razões descritas na "longa resposta". E eu não acho que detectar a fonte do PDF é a melhor abordagem para o problema que você está tentando resolver. Não apenas PowerPoint produz texto e imagens sobrepostos. Eu acho que é muito melhor para detectar o layout real do arquivo PDF. Se houver sobreposição de imagem e texto, então você fazer alguma filtragem ou de pré-processamento para atender a isso.

O seu raciocínio é muito arbitrário - há certamente uma abundância de arquivos PPT sem as características que você descreve, e uma abundância de arquivos PDF com -los, que foram gerados a partir de outra fonte .

Em teoria, um método melhor seria apenas para detectar quando ocorrem estas situações "indesejados". No entanto, embora o formato PDF é parcialmente aberta (apenas para leitura, aparentemente, por isso não é realmente um formato aberto), extração de dados complexos, como isso seria incrivelmente difícil.

Todos os PDFs pode ter este problema, independentemente da sua fonte. A maioria dos editoriais suites desktop são capazes de reproduzir PDF e muitas vezes são vendidos ostentando suas apresentações de alta qualidade e flashier PDF ...

Um método "mais saudável" seria a utilização de um analisador PDF, iTextSharp ou pdfNet ... etc, usando a biblioteca de sua escolha, encontrar todos os rectângulos de imagem e todos os retângulos de texto, classificar os retângulos, e depois ver se há uma sobreposição substancial de texto e imagem rects - ignorando imagem para sobreposições de imagem. Se assim for, rejeitar a página e / ou documento.

Isso não vai ser perfeito, mas pelo menos ele vai pegar muitos PDFs que não são sane, independentemente da fonte. Outros heurísticas para adicionar incluiria análise de cor. (Isto é, são as cores da região de sobreposição suficientemente diferentes para permitir que os resultados "sã"?)

Boa sorte para você

Pode colocar o seu nome na criador ou produtor info, mas eu não tenho uma cópia para verificar esta teoria com.

Em geral, não é uma tarefa fácil para determinar programaticamente (confiável), onde um arquivo veio ou como ele foi gerado com base em seu conteúdo. Afinal, um arquivo é apenas uma coleção de bits.

A menos que você tem um monte de recursos para gastar construindo a heurística para determinar se um arquivo é "razoavelmente sã" de acordo com suas necessidades, eu consideraria isso uma tarefa para os seres humanos.

algum conversor de ppt para pdf preservar criador em comentários no início do pdf.

Eu acho que é gerada a partir da maioria das aplicações PDF parecem ser o mesmo. É pode ter alguns meta-dados que você pode ler a partir do arquivo ...

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