2011-11-11 7 views
0

私は、そのリンクが適切かどうかを確認したいPDFファイルがあります。適切な意味で - 指定されたすべてのURLはWebページにリンクされており、何も壊れていません。私はそれを簡単に行うことができるシンプルなユーティリティやスクリプトを探していますか?PDFファイルのリンクを確認する方法

例:

$ testlinks my.pdf 
There are 2348 links in this pdf. 
2322 links are proper. 
Remaining broken links and page numbers in which it appears are logged in brokenlinks.txt 

私はそう&もstackoverflowの中で検索Googleで検索、そのようなことが存在するかどうかの見当がつかない。しかし、まだ役に立たないものは何も見つかりませんでした。だから誰にでもそれについてのアイデアはありますか?

更新:質問を明確にする。

答えて

4

私が最初にLinuxのコマンドラインユーティリティ「pdftotext」を使用することをお勧め - あなたはmanページを見つけることができます。

pdftotext man page

ユーティリティが利用できる、PDF処理ツールのXpdfのコレクションの一部でありますほとんどのLinuxディストリビューションで。 http://foolabs.com/xpdf/download.htmlを参照してください。一度に処理

pdftotext file.pdf file.txt 

、HTTP URLの結果のテキストファイルを検索し、LWP::Simpleを使用してそれらを取得し、簡単なperlスクリプト:

インストールが完了したら、あなたはpdftotextてPDFファイルを処理することができます。次のようなコードスニペットを持つURLを検証することができます:あなたが何をしたいか成し遂げるだろう

use LWP::Simple; 
$content = get("http://www.sn.no/"); 
die "Couldn't get it!" unless defined $content; 

を、私は思う:LWP :: Simple->(「// ...のhttp」)を取得。そこ資源の多くは、httpのURLにマッチする正規表現の書き方であるが、非常にシンプルなものは次のようになります。

m/http[^\s]+/i 

「HTTPは、一つ以上ない、空白文字が続く」 - URLを想定していますプロパティURLがエンコードされます。

+0

、私はこれらのユーティリティで自分のスクリプトを書くだろう! – user379997

1

あなたの質問には2行の質問があります。

リンクにhttp://や有効なTLDコードなどの重要な情報が含まれていることを正規表現検証で確認していますか?もしそうなら、私は正規表現の専門家が落ちるか、またはURLを扱うための既存の正規表現をたくさん含むregexlib.comを見てください。

ウェブサイトが存在するかどうかを確認したい場合は、Python + Requestsをチェックアウトして、ウェブサイトが存在するかどうかを確認してエラーコードを返さないようにすることをおすすめします。

私は現在、仕事でほとんど同じ目的の仕事をしています。自動的に処理されるために約54kのリンクがあります。

+0

私の質問は、リンクが壊れていないかどうかを確認することです!ありがとう。質問を正しく更新しました。 – user379997

+0

破損したリンクは、到達したときに間違ったHTTP構文またはHTTPエラーとして定義されていますか? –

+0

httpエラー - このようなページエラーはありません! – user379997

0
  1. 収集リンク:APIを使用して、またはテキストとしてダンプし、その結果をlinkifying、またはHTML PDFMinerとして保存
    列挙リンク。

  2. お客様のニーズに応じて、多くのオプションがあります。確認するリクエストを確認してください。

0

あなたはが切断されたハイパーリンクのためのPDFドキュメントとチェックを解析するシンプルなツールですpdf-link-checker

PDFリンクチェッカーを使用することができます。これは、特定の文書にある各リンクに単純なHTTP要求を送信することで行います。

GNU/Linux上でそれをインストールするには:

pip install pdf-link-checker 

残念ながら、1つの依存関係(pdfminer)が壊れています。それを修正するには:

pip uninstall pdfminer 
pip install pdfminer=20110515 
関連する問題