ホームページ > バックエンド開発 > PHPチュートリアル > phpexcelでPDFファイルをエクスポートすると文字化けしてしまう

phpexcelでPDFファイルをエクスポートすると文字化けしてしまう

WBOY
リリース: 2016-06-23 13:45:36
オリジナル
1699 人が閲覧しました

コードのプロセスは、テンプレート ファイル template.xls を読み取ることです。対応するコンテンツを記述し、PDF ファイルをエクスポートします。 template.xls ファイルの内容には、表と日本語のテキストが含まれています。個人的にはフォントがないのが原因だと思うのですが、対処法を教えていただければ幸いです! ! !

require_once 'excel/PHPExcel.php';$objPHPExcel = PHPExcel_IOFactory::load( "template.xls" );$objPHPExcel->setActiveSheetIndex(0);$objWorksheet = $objPHPExcel->getActiveSheet();//写内容$objWorksheet->getCell("C1")->setValue("test");//假如图片$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('stamp');$objDrawing->setDescription("aaaa");$objDrawing->setPath("images/p1.jpg");$objDrawing->setCoordinates('M1');$objDrawing->setOffsetX(25);$objDrawing->setRotation(36);$objDrawing->setHeight(73);$objDrawing->getShadow()->setVisible(true);$objDrawing->getShadow()->setDirection(45);$objDrawing->setWorksheet($objWorksheet);$objWorksheet->setTitle('Simple');ob_end_clean();header('Content-Type: application/pdf');header('Content-Disposition: attachment;filename="detail.pdf"');header('Cache-Control: max-age=0');$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');$objWriter->save('php://output');exit;
ログイン後にコピー


ディスカッションに返信(解決策)

エクスポートしたPDFファイルの枠線が太く、日本語コンテンツが文字化けしています

コンテンツのテキストはUTF-8でエンコードされていますか?そうでない場合は、iconv???を使用してください。

エンコードの問題はなく、コード化けの問題は解決されています。
簡体字中国語表示の場合は、フォントを arialunicid0-chinese-simplified に設定します
日本語表示の場合は、フォントを arialunicid0-japanese に設定します

皆様のお役に立てば幸いです。
しかし、厚い黒いボックスを表示する問題には解決策がありません~~~

?テキストは UTF-8 エンコードする必要があります??そうでない場合は、iconv???を使用してください。


エンコードの問題はありません。
簡体字中国語表示の場合は、フォントを arialunicid0-chinese-simplified に設定します。
日本語表示の場合は、フォントを arialunicid0-japanese に設定します。

PDF を生成する phpexcel には大きな欠陥があります。Excel に画像がある場合、それらは生成される PDF に保持されないため、これを使用して PDF ファイルを生成するのは最良の解決策ではありません。

phpexcel が PDF を生成するとき、大きな欠陥があります。Excel に画像がある場合、それらは生成された PDF に保持されないため、これを使用して PDF ファイルを生成するのは最良の解決策ではありません。


予定されているコンテンツの多くは変更されておらず、形式要件が複雑であるため、これらのコンテンツと形式はテンプレート xls ファイルに作成されます。この機能には写真は含まれません。

すべてのコンテンツを記述する代わりに、最初にテンプレートをインポートし、テンプレートに基づいてコンテンツを変更し、PDF ファイルとして保存するより良い解決策はありますか?エビさん、解決策をお勧めしてください~~


phpexcel による PDF 生成には大きな欠陥があります。Excel に画像がある場合、それらは生成された PDF に保持されないため、最適な解決策ではありません。 PDF ファイルを生成するにはこれを使用してください。


予定されているコンテンツの多くは変更されておらず、形式要件が複雑であるため、これらのコンテンツと形式はテンプレート xls ファイルに作成されます。この機能には写真は含まれません。

すべてのコンテンツを記述する代わりに、最初にテンプレートをインポートし、テンプレートに基づいてコンテンツを変更し、PDF ファイルとして保存するより良い解決策はありますか?エビさん、解決策をお勧めしてください~~

上記のコード解決策に従うだけで、セルに動的に書き込まれた画像を PDF に保持できます



phpexcel の pdf 生成には大きな欠陥があります: Excel画像がある場合、それらは生成された PDF には保持されないため、これを使用して PDF ファイルを生成することは最適な解決策ではありません。


予定されているコンテンツの多くは変更されておらず、形式要件が複雑であるため、これらのコンテンツと形式はテンプレート xls ファイルに作成されます。この機能には写真は含まれません。

すべてのコンテンツを記述する代わりに、最初にテンプレートをインポートし、テンプレートに基づいてコンテンツを変更し、PDF ファイルとして保存するより良い解決策はありますか? Da Xia は解決策をお勧めします~~

上記のコード解決策に従ってください。セルに動的に書き込まれた画像は PDF に保持されます

ただし、表示形式の問題が発生したかどうかはわかりません。ちょっと、写真をアップロードします。

下の画像は Excel テンプレート ファイルです


下の画像は生成された PDF ファイルです

生成された PDF でテストを行いました。セル 境界線のサポートもあまり良くありません。コード レベルでの特定の理由は、おそらくこれが欠陥の 1 つである可能性があります。

個人的には、PDF の処理に使用すると、自転車を車と同じ速度で運転するようなものだと感じます。 結局のところ、これは専門ではなく、Excel の操作が専門です

個人的には、pdf を処理するために使用しているように感じます。これは、自転車を車と同じ速度で運転しているようなものです。結局のところ、これは専門ではなく、エクセルの操作です


片付けてくれてありがとう。疑問^_^
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート