2011-07-25 4 views
1

これらのドキュメントの整合性を確認する手順は何ですか? doc,docx,docm,odt,rtf,pdf,odf,odp,xls,xlsx,xlsm,ppt,pptmドキュメントの整合性の確認

または少なくともそれらのいくつか。通常はコンテンツリポジトリにアップロードされます。

InputStreamは常に99,99%がMultiPartのHTTPリクエストから正しく読み込まれていると思います。そうしないと例外がスローされ、処理が行われます。しかし、ユーザーは既に破損したファイルをアップロードすることができます - 私はそれを確認するためにサードパーティのライブラリを使用していますか? odftoolkit、itextpdf、pdfbox、apache poi、tikaのようなものは見当たりませんでした。

+1

あなたが探している汚職のどのような?熟考?事故?シングルバイトが壊れていますか?ファイルは切り捨てられますか? 「そのファイルがちょっと見える」と言うだけで十分ですか、Office 2003ビルド12345またはOffice 2008 for Macビルド4321で警告なしで開いていると言うファイルを受け入れる必要がありますか? – Gagravarr

+0

私はちょうどTikaExceptionを処理する方法を疑問に思っていました。なぜなら、解析はあなたがおそらくこの問題をキャッチするポイントだからですが、ほとんどの場合、解析中にどのような問題が起きるか分かります。この場合、何が行われるべきですか?私は本当にドキュメントの配信を担当しています。コンテンツリポジトリにファイルを保存するのとは異なります。ドキュメント処理に関する以前の経験はありません。いくつか番号を付けることができますか?確率?統計? – lisak

答えて

0

上記のすべてのファイル形式については、開かれるサードパーティのライブラリがあります。 "検証のみ"ですが、例外を除いてそれらを開くことができると思うのは、ファイルが指定されたフォーマット内にあることを少なくとも基本的にチェックすることです...このような(商用の)ライブラリの1つはAsposeです。 ..

+0

ほとんどの場合、「オープン」はありませんが、入力ストリームを供給し、さまざまな理由から失敗する可能性のあるパーズまたはDOMモデルなどを取得しても、ドキュメントは破損しません。それは楽しいことではありません:-)確かに、私はAsposeのために7497ドルを支払うつもりはありません:-)あまりにも多くの数字があります – lisak

0

アップロードする前にファイルのチェックサム/ハッシュ(つまり、安全なハッシュ)を実行してから、チェックサムを別々にアップロードできます。後でダウンロードされたファイルに同じチェックサムがある場合、元のファイルから変更されていません(使用されるチェックサム/ハッシュによっては高い確率で変更されます)。

+0

私は、トランスポートに問題はないと言いましたが、ユーザは既にそれをアップロードしているかもしれません。たぶん、私は "完全性"という言葉を使ってはいけません。 – lisak

2

「破損」にはさまざまな種類があります。

  • 一部の破損は検出しやすいはずです。たとえば、切り捨てられたODFファイルは、ZIPリーダーがそれを読むことができないため、開こうとするとほとんど失敗します。

  • その他は、文字通り検出が不可能です。たとえば、RTFファイルの1文字の破損は検出されないため、ほとんどのRTFファイルの切り詰めが行われます。


あなたも、それが技術的に可能であるという程度に、それらのファイルタイプのすべてのためにこの仕事をするシングル(無料)ツールを見つけた場合、私は驚かれることと思います。ドキュメントフォーマットを読み書きするための現在の世代のオープンソースライブラリは、1つのフォーマットファミリにのみ集中している傾向があります。これについて真剣なら、おそらく商用ライブラリを使う必要があります。

0

LibreOfficeプロジェクト(これらのアーカイブをすでに扱っています)にチェックを入れると、Javaで書かれた部分があり、そのメカを使って壊れたファイルを確認することができます。

私はあなたがここからコードを取得することができると思う:

http://www.libreoffice.org/get-involved/developers/

関連する問題