ホームページ  >  記事  >  バックエンド開発  >  PHPで単語を画像に変換する方法

PHPで単語を画像に変換する方法

藏色散人
藏色散人オリジナル
2020-10-19 11:01:296068ブラウズ

php で単語を画像に変換する方法: まずサーバーに libreoffice をインストールし、次に exec 関数を使用してコマンド ライン操作を呼び出し、最後に "xec("soffice --headless --invisible.. ."" 方法は、Word で画像を変換するだけです。

PHPで単語を画像に変換する方法

推奨: "PHP ビデオ チュートリアル "

linux、 centos、php、word 画像を変換する方法(書式設定なし、文字化け等)

最初はクライアントの仕事だったのですが、まさかこんな方法に引っかかるとは思いませんでした。私は本当に酔っていました。長いプロセスを経て、一週間後、ついにこの問題を解決しました。ここで、次の方法を紹介します。誰にとっても便利です。

[注意] この方法は、変換することもできますppt を写真に変換 (execl で試したことはありません。時間があれば、試してみることができます)

(直接変換する方法はないので、妥協案を見つけました。まず変換します)

まず環境のインストールについて話しましょう (環境のインストールをまとめる前に、私もいくつかの失敗を経験しました。 * は必要な操作を示します。

サーバー環境: centos7

*統合環境: Pagoda

Pagoda をインストールした後、LNMP の統合環境をインストールすることを選択します ( php バージョン 5.6 以降をインストールするのが最適です)

ここで注意する必要があるのは、nginx 環境を使用する必要があることです (Apache は使用しないでください。落とし穴が多すぎます)。Pagoda の統合環境があります。落とし穴が多すぎるので、理由は聞かないでください。時間に余裕があり、作業に時間制限がない限り、自分でさまざまな環境をインストールしてみることもできます (速度を上げるため、ただフォローしてください)私の環境のインストール手順)

お待ちください...

環境のインストールが完了したら、Pagoda ソフトウェア ストアに入り、php の背後にある設定をクリックして、php 用の imagemagick 拡張機能をインストールします。

この php 拡張機能のインストールが完了するまで待ちます

インストールが完了したら、サーバーへの libreoffice のインストールを開始します

次のコードを直接実行するだけです (最初のものがインストールされていれば問題ありません。後の 2 つのインストール中にエラーが報告される可能性がありますが、最初のものがインストールされている限り、実際には大きな影響はありません)

1 yum install libreoffice
2 yum install libreoffice-headless
3 yum -y install  libreoffice-langpack-zh-Han*

libreoffice のインストール後では、次のコードを使用して、インストールが成功したかどうかをテストします。

soffice --headless --invisible --convert-to pdf 1.docx

(ppt を画像に変換する場合は、次の docx ファイルを pptx ファイルに置き換えるだけです)

If aコマンドを実行したディレクトリに word と同じ名前の pdf ファイルが生成されます。これは、libreioffice が正常にインストールされたことを意味します。

You can use Baidu for libreoffice on Linux

In php exec() 関数を使用して、コマンド ライン操作だけでなく、shell_exec() やその他の関数を呼び出すこともできます (関数の使用方法は Baidu にあります)

php メソッドで exec() メソッドを実行できない場合, それは、php がこれらのメソッドを無効にしたことを意味します。この時点で、php.ini ファイルの構成を変更できます。

php.ini ファイル内で disable_functions = で始まる行を見つけて、設定した関数を削除します。後で使用したい場合は、php を再起動します。これで、作成した php で exec() やその他の関数を呼び出すことができます

この時点で、単語を画像に変換するために必要なすべての環境が正常にインストールされました

php で Word を PDF に変換する方法:

$result = exec("soffice --headless --invisible --convert-to pdf 1.docx");
echo json_encode($result);

Word で同じ名前の PDF ファイルを同じディレクトリに生成できます

php で PDF を画像に変換する方法:

$result = pdf2png("/www/wwwroot/wwj.wangwenjie.club/1.pdf","/www/wwwroot/wwj.wangwenjie.club/");
function pdf2png($pdf, $path)
    {
        if (!extension_loaded('imagick')) {
            return false;
        }
        if (!file_exists($pdf)) {
            return false;
        }
        $im = new \Imagick();
        $im->setResolution(120, 120); //设置分辨率 值越大分辨率越高
        $im->setCompressionQuality(100);
        $im->readImage($pdf);
        foreach ($im as $k => $v) {
            $v->setImageFormat('png');
            $fileName = $path . md5($k . time()) . '.png';
            if ($v->writeImage($fileName) == true) {
                $return[] = $fileName;
            }
        }
        return $return;
    }

同じディレクトリに png 画像を生成できます (pdf ページには複数の画像があります)

pdf を画像に変換する方法については、次の方法を参照してください:

https ://blog.csdn.net/jeff_love_marina/article/details/80838055 (環境等はインストール済みなので、このリンクの方法を見てください)

ここまで、変換方法はLinux での php での単語から画像への変換は完了しました。さあ、

以上がPHPで単語を画像に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。