14

PHP経由でPDFファイルをHTMLファイルに変換できるようにしたいのですが、問題が発生しています。

Saasposeを使用してこれを行う基本的な方法を見つけました。これにより、PDFをHTMLファイルに変換できます。ただし、これには、SVG、画像、ポジショニング、フォントなどの使用など、いくつかの問題があります。

必要なのは、PHPファイルとそれに関連する画像からテキストを取得し、絶対位置でフォーマットするのではなく、線形フォーマットで表示する機能だけです。

これが意味するのは、PDFが次のようになっている場合です。

ここに画像の説明を入力してください

単一列のデザインHTMLファイルに変換したいと思います。画像があったら、それも返して欲しいです。

これはPHPで可能ですか?PDFファイルからテキストを簡単に取得できることは知っていますが、画像も取得するのはどうでしょうか。

もう1つの問題は、単一のファイルでクライアントに提供されるため、すべてをインラインにしたいということです。現在、私はいくつかのコードを介して私のセットアップでこれを行うことができます:

for ($i = 0; $i < $object_number; $i++) {
                $object = $html->find("object")->find("embed")->eq($i);
                $embed = file_get_contents("Output/OutputHtml/" . $object->attr("src"));
                array_push($converted_obj, $embed);
                array_push($original_obj, $object);
            }

            for ($i = 0; $i < $object_number; $i++){
                pq($original_obj[$i])->replaceWith($converted_obj[$i]);
            }

これはすべてのSVGファイルを取得し、それらをインラインで表示します。私が使用できるので、画像はこれのために簡単でしょうbase64

4

4 に答える 4

15

1).exeファイルをダウンロードして次のフォルダーに解凍します:http ://sourceforge.net/projects/pdftohtml/

2).phpファイルを作成し、このコードを配置します(pdftohtml.exeがそのフォルダー内にあり、ソースsample.pdfもあると仮定します)。

<?php
$source_pdf="sample.pdf";
$output_folder="MyFolder";

    if (!file_exists($output_folder)) { mkdir($output_folder, 0777, true);}
$a= passthru("pdftohtml $source_pdf $output_folder/new_file_name",$b);
var_dump($a);
?>

3)MyFolderと入力すると、変換されたファイルが表示されます(ページ数によって異なります)。

ps私は知りませんが、多くの商用またはトライアルAPIも存在します。

于 2013-12-03T09:59:39.677 に答える
7

Xpdfを使用したクロスプラットフォームソリューション:

Xpdfツールの適切なパッケージをダウンロードし、スクリプトのディレクトリのサブディレクトリに解凍します。それが「/xpdftools」と呼ばれていると仮定しましょう。

このようなコードをphpスクリプトに追加します。

$pdf_file = 'sample.pdf';
$html_dir = 'htmldir';
$cmd = "xpdftools/bin32/pdftohtml $pdf_file $html_dir";

exec($cmd, $out, $ret);
echo "Exit code: $ret";

スクリプト実行が成功htmldirすると、ディレクトリには変換されたhtmlファイルが含まれます(各ページは個別のファイルになります)。

Xpdfツールは、次の終了コードを使用します。

  • 0-エラーはありません。
  • 1-PDFファイルを開くときにエラーが発生しました。
  • 2-出力ファイルを開くときにエラーが発生しました。
  • 3-PDF権限に関連するエラー。
  • 99-その他のエラー。
于 2018-04-18T21:17:14.340 に答える
2

あなたが本質的にやろうとしていることは、PDFファイルをリフローすることです。これが存在するかどうかはわかりませんが、せいぜい非常に困難です。

特定のファイルに必要なことを実行するためのコードを作成することは可能ですが、一般的なケースでは不可能だと思います。

ここに、リフローPDFに欠陥があると思う理由を説明する記事を書きました:http ://www.planetpdf.com/enterprise/article.asp?ContentID = PDF_Reflow_in_Microsoft_Word_2012_Is_it_any_good

特に興味深いのは、「新聞記事を使って問題を説明しよう」で始まる段落です。

IDRsolutions(透明性のために私が働いている場所です!)が提供するものを調べたいと思うかもしれません。

現在、PDFからHTML5およびPDF変換ソフトウェアをクラウドに配置しています:http ://www.idrsolutions.com/cloud-pdf-converter/

あなたにぴったりなのは、JPedalのPDFテキスト抽出およびPDF画像抽出機能です。PDF to HTML5がうまくいけば、これをクラウドに配置することも検討する可能性が非常に高くなります。

テキスト抽出:http ://www.idrsolutions.com/pdf-to-text-conversion/

画像抽出:http ://www.idrsolutions.com/extract-images-from-pdf/

于 2013-02-14T10:10:59.713 に答える
0

投稿したグラフィックから達成したいのは、実際にはグラフィックのOCR変換です。 http://www.phpclasses.org/package/2874-PHP-Recognize-text-objects-in-graphical-images.html

于 2013-10-17T12:53:07.253 に答える