タイトルの通りです。私が尋ねる理由は、PDF を書式設定された ASCII テキストに (pdftotext を使用して) 変換しており、合理的に見えるものだけを表示したいからです。
PPT ファイルは、画像の上にテキスト、斜めのテキスト、および ASCII にうまく変換できないその他のものを含む傾向があるため、可能であればそれらを除外したいと考えています。
タイトルの通りです。私が尋ねる理由は、PDF を書式設定された ASCII テキストに (pdftotext を使用して) 変換しており、合理的に見えるものだけを表示したいからです。
PPT ファイルは、画像の上にテキスト、斜めのテキスト、および ASCII にうまく変換できないその他のものを含む傾向があるため、可能であればそれらを除外したいと考えています。
PDF の作成アプリケーションは、その XMP メタデータにリストされています。これは、Acrobat 9 で非常に簡単に確認できます(以前のことだと思いますFile > Properties
) 。Additional Metadata...
Advanced
xmp:CreatorTool: Microsoft PowerPoint
pdf:Creator: Microsoft PowerPoint
プログラムでこれを見つけたいと思うので、言語で動作するこのメタデータを読み取るライブラリを見つける必要があります。以下は、いくつかの XMP ツールのリストです。
簡潔な答え:
いいえ、そうは思いません。
長い答え:
いいえ、そうは思いません。PowerPoint ファイルを PDF に変換する方法はいくつかあります。たとえば、Adobe Acrobat や PDFCreator などがあります。特定の情報を PDF ファイルに埋め込むのは変換者次第です。ある変換者から PowerPoint ソースの PDF を検出する方法を見つけたとしても、同じ方法が別の変換者では機能しない場合があります。
さらに長い答え:
いいえ、「長い回答」に記載されている理由により、そうは思いません。また、PDF のソースを検出することが、解決しようとしている問題に対する最善のアプローチだとは思いません。テキストや画像が重なってしまうのは PowerPoint だけではありません。PDFファイルの実際のレイアウトを検出する方がはるかに優れていると思います。画像とテキストのオーバーレイがある場合は、それに対応するために何らかのフィルタリングまたは前処理を行います。
ソースに関係なく、すべての PDF でこの問題が発生する可能性があります。ほとんどのデスクトップ パブリッシング スイートは PDF を出力することができ、高品質で派手な PDF プレゼンテーションを誇って販売されることがよくあります。
「より健全な」方法は、PDF パーサー、ITextSharp、または pdfNet などを使用することです。選択したライブラリを使用して、すべての画像の四角形とすべてのテキストの四角形を見つけ、四角形を並べ替えて、実質的なものがあるかどうかを確認します。テキストと画像の四角形のオーバーラップ -- 画像間のオーバーラップを無視します。該当する場合は、そのページおよび/またはドキュメントを却下します。
これは完璧ではありませんが、少なくとも、ソースに関係なく、正気でない多くの PDF を検出できます。追加する他のヒューリスティックには、色の分析が含まれます。(つまり、重なり合う領域の色は、「正常な」結果が得られるほど十分に異なっていますか?)
幸運を祈ります
あなたの推論は非常に恣意的です.あなたが説明した機能のないPPTファイルがたくさんあり、別のソースから生成されたPDFファイルがたくさんあります.
理論的には、これらの「望ましくない」状況がいつ発生したかを検出する方法の方が優れています。ただし、PDF 形式が部分的にオープンであっても (明らかに読み取り専用であるため、実際にはオープン形式ではありません)、そのような複雑なデータを抽出することは非常に困難です。
一部の ppt から pdf へのコンバーターは、pdf の先頭のコメントにクリエーターを保持します。
ほとんどのアプリケーションから生成された PDF は同じように見えると思います。ファイルから読み取ることができるメタデータが含まれている可能性があります...
一般に、ファイルがどこから来たのか、またはその内容に基づいてどのように生成されたのかをプログラムで (確実に) 判断するのは簡単な作業ではありません。結局のところ、ファイルは単なるビットの集まりです。
必要に応じてファイルが「合理的に正常」に見えるかどうかを判断するためのヒューリスティックの構築に多くのリソースを費やさない限り、これは人間の仕事だと思います。
作成者または生産者の情報にその名前が記載されている可能性がありますが、この理論を確認するためのコピーはありません.