(推奨チュートリアル: PHP ビデオ チュートリアル)
ライブラリ クラスの WeChat アプレット以前、開発中にミニ プログラムで Alibaba Cloud OSS の PDF ファイルをプレビューするという問題に遭遇しました。 WeChat が提供する公式の解決策は 1 つだけあり、それはドキュメントをローカルにキャッシュし、リソース マネージャーで開くことです。
この書き方の問題点は明らかです。PDF ファイルが小さい場合は問題ありませんが、PDF ファイルが大きい場合、読み込み速度が非常に遅くなります。 。また、最初の数ページをプレビューするだけでよく、すべてのドキュメントをキャッシュしてファイル エクスプローラーで開く必要もあります。とても悪い経験です。
オプション 1: ミニ プログラムの Web ビューを使用して、Web ページ上でプレビューします。エクスペリエンスはまだ問題ありませんが、クロスドメインの問題を解決できないという問題が発生しました。
オプション 2: pdf.js。インターネット上の多くのソリューションでは、これを使用し、プレビュー用にサーバー上に静的ページを作成する必要があります。このソリューションでは、PDF ファイルが独自のドメイン名のサーバー上にあっても問題ありません。ただし、ファイルがサードパーティ OSS にある場合は、引き続きクロスドメインの問題が発生します。さらに、オンライン ミニ プログラムはジャンプ プロンプトを発行します。 pdf.js ドキュメントは、さまざまな互換性の問題や、予測できない未知の問題があり、読みにくいです。
オプション 3: PDF ファイルを画像に変換すると、ミニ プログラムは対応する画像のみを読み込みます。このソリューションは最も完璧ですが、大学院生のバックエンド開発者により適しています。うちのバックエンドがめんどくさいので直すしかありません。自分にしかできないんです。
プレビューする PDF ファイルのリンクとプレビューするページ数をバックエンドに渡します。バックエンドは、渡されたパラメーターに従って PDF ファイルを解析し、必要なページを画像として返します。
パラメータ p で対応するページ番号を指定した後、対応するページ番号の画像が表示されます。左側に が表示されます。
wget https://netix.dl.sourceforge.net/project/imagemagick/im7-src/ImageMagick-7.0.7-25.tar.gz tar -zxvf ImageMagick-7.0.7-25.tar.gz cd ImageMagick-7.0.7-25 ./configure make && make install
5 つのコマンドに対応する操作は、ダウンロード、抽出、ディレクトリを開く、構成です。 、コンパイルしてインストールします
次のことができます。コンパイルしてインストールすることもできますが、ここでは省略します。
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925/ghostscript-9.25.tar.gz tar zxvf ghostscript-9.25.tar.gz cd ghostscript-9.25 ./configure --prefix=/usr make && make install
echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig
<?php try{ $url = !empty($_GET['url']) ? $_GET['url'] : die('error'); $page = isset($_GET['p']) ? $_GET['p']-1 : '0'; $file_name = 'temp_' . mt_rand(1000,9999) . 'pdf'; file_put_contents( './'.$file_name,file_get_contents($url)); $imagePreview = new imagick('./'. $file_name . '['.$page.']'); $imagePreview->setImageFormat( "jpg" ); // $imagePreview->setResolution( 900, 900 ); header( "Content-Type: image/jpeg" ); echo $imagePreview; unlink('./'. $file_name); }catch(\Exception $e){ echo '发生错误'; }
PHP ビデオ チュートリアル )
以上がPHPベースのWeChatアプレットPDFファイルのプレビュー機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。