ゆるく働き ゆるく生きる ゆるいだれかの日記

menu

ゆるりの足あと


PHPでPDFをスクレイピングするならZendPdfが便利らしい

「PHP PDF スクレイピング」で調べるとxpdfばかり出てきますが、ZendPdfが何かと便利らしいです。

PDFファイルの読み込み・編集・結合(マージ)などの機能がそろっているのはスゴイですね。

ZendPdfをレンタルサーバーで利用する場合には、Composerが便利なので、SSHで入れます。

その後、Zend_Pdfを入れていくという手順なのですが、下記サイトがとても参考になりました!

ほとんどこちらのサイトを見るだけで済んでしまうと思いますが少しだけ補足しておきます!

①TeraTermを自分のPCにインストール

SSHの設定方法に従い、TeraTermをインストール⇒SSH接続の設定を行います。

ここでは、上記サイトの解説がものすごく丁寧なので困ることはないでしょう。

SSHの設定が完了すれば、レンタルサーバー上でのコマンド操作が可能になります。

②Composerをレンタルサーバーにインストールする

SSH接続ができるようになれば、次はXserverにComposer をインストールする方法を参考にしつつ、Composerをインストールしていきます。

ここで注意点が一つ。

Composerをインストールする時にはPHPのバージョンによってphp5.4⇒php5.6などに変更する必要があります。
curl -s https://getcomposer.org/installer | /usr/bin/php5.4 ←この太字の部分がPHPのバージョンを指定するところ

Composerをレンタルサーバーにインストールすると、ルート直下にcomposer.pharというファイルが生成されたはずです。

③composer.jsonを作成する

ここまでで、composer.pharがレンタルサーバーのルート直下にあるはずです。次は同じディレクトリにcomposer.jsonを作成します。

composer.jsonに記載するのは、上記のみです。最初と最後の{}が結構大事なので、忘れずにコピペしましょう。

④インストールコマンド実行

TeraTerm上で下記コマンドを実行するとcomposer.jsonで設定したものが自動的にインストールできます。

PHPのバージョンによってphp○○の部分は変更してください。

/usr/bin/php5.6 composer.phar install
(/usr/bin/php5.4 composer.phar install)

⑤PDFを読み込んでPHPで表示する

PDFファイルを読み込む/生成する(Zend_Pdf)を参考にしながらですが、レンタルサーバーで利用できるように修正しました。(特にエックスサーバー)

※composerをせっかく利用しているので、便利な機能を使ってみました。require_once ‘/home/yululy/vendor/autoload.php’;の部分です。短く書けていい感じ。

/home/yululy/の部分はサーバーによって変わるので、変えてください。

外部PDFファイルをそのまま読み込めたら便利!だけど・・・

$pdfPath = ‘http://www……/sample.pdf’;として外部ファイルを読み込みたくなりますが、これはエラーが出ます。残念。

PHPのfilesize()がサーバー内のパスしか受け付けない仕組みみたい。

それなら!と・・・

下記のような方法で一度PDFをサーバーにダウンロードしたあとに、ごにょごにょして削除する方法がカンタンに思いつきますが、スマートではないですね。。。

もっと良い方法あればぜひ教えてください。

以上、 PHPでPDFをスクレイピングするならZendPdfが便利らしい でした!

もし、ご不明な点があればコメント頂ければできる限り対応したいと思います!(難しい問題には答えられないかもしれません。ご容赦ください。)

難しい問題の場合は、こちらで質問されることをオススメします。

最後までお付き合い頂き、ありがとうございました!

少しはお役に立てましたか?

役に立つかも?と思われた方はぜひシェアを!

関連記事

  1. この記事へのコメントはありません。

  1. 2017年 1月 21日

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

過去に作成したサイト集