TP フレームワークに tcpdf プラグインの手順と TCPD 中国語文字化けの解決策が導入
この記事では、TP フレームワークに tcpdf プラグインを導入する手順と、TCPD 中国語文字化けの解決策について主に説明します。これには一定の学習価値があります。困っている友人は見てください。お役に立てれば幸いです。 。
プロジェクトを行う際にHTMLを使ってPDFを生成していましたが、TCPDFプラグイン機能の方が適していることが分かり、このプラグインを選択しました。具体的なプロセスは次のとおりです。 1. Composer を通じて TCPDF の最新バージョンをダウンロードし、プログラムに切り替えます。ルート ディレクトリで次のコマンドを実行します (Windows では DOS コマンド切り替え):
composer require tecnickcom/tcpdf
コマンドが正常に実行されると、次のような TCPDF がプログラム ルート ディレクトリのベンダー フォルダーにダウンロードされます (画像:
サンプルには 60 以上の典型的な例があります。対応する例のリストについては、TCPDF 公式 Web サイトを参照してください: https://tcpdf.org/examples/
2. コントローラーで TCPDF を呼び出します。
use TCPDF;
3. 公式サンプルのコードをメソッドに直接貼り付けると、正常に実行されます。
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Nicola Asuni'); $pdf->SetTitle('TCPDF Example 001'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128)); $pdf->setFooterData(array(0,64,0), array(0,64,128)); $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { require_once(dirname(__FILE__).'/lang/eng.php'); $pdf->setLanguageArray($l); } $pdf->setFontSubsetting(true); $pdf->SetFont('dejavusans', '', 14, '', true); $pdf->AddPage(); $pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal')); $html = <<<EOD <h1>Welcome to <a href="http://www.tcpdf.org" style="text-decoration:none;background-color:#CC0000;color:black;"> <span style="color:black;">TC</span><span style="color:white;">PDF</span> </a>!</h1> <i>This is the first example of TCPDF library.</i> <p>This text is printed using the <i>writeHTMLCell()</i> method but you can also use: <i>Multicell(), writeHTML(), Write(), Cell() and Text()</i>.</p> <p>Please check the source code documentation and other examples for further information.</p> <p style="color:#CC0000;">TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE <a href="http://sourceforge.net/donate/index.php?group_id=128076">MAKE A DONATION!</a></p> EOD; $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); $pdf->Output('example_001.pdf', 'I');
注:
1. TCPDF は HTML やその他のコンテンツの出力に区切り文字を使用するため、上記のコードの $html は EOD まで同じ形式である必要があります。
2. ThinkPHP はデバッグ モードをオフにする必要があります。オフにしないと、出力が文字化けします。
TCPD中国語文字化け問題の解決方法TCPDFの最新版ではすでに中国語に対応しており、PDFの生成方法で中国語のエンコードを指定するだけで済みます。
$pdf->SetFont('stsongstdlight', '', 12);
TCPDF で中国語のファイル名を保存できない問題の解決策
PHP が TCPDF を使用して PDF ファイルを生成するとき、ファイル名が中国語の場合、直接以下は、中国語のファイル名を保存できない場合の TCPDF の解決策です:
tcpdf.php ファイルを開いて、約 7554 行目の出力関数を見つけます。
1. 次のコード (約 7565 ~ 7568 行目) をコメント化します:
if ($dest[0] != 'F') { $name = preg_replace('/[\s]+/', '_', $name); $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name); }
2. メソッド コードを検索し、次のコード (約 7639、7670、7693、および 7693 行目) を置き換えます。 7718。
header('Content-Disposition: attachment; filename="'.basename($name).'"');
に置き換えられます
header('Content-Disposition: attachment; filename="'.$name.'"');
上記のコードは、ケース 'I': (PDF の印刷)、ケース 'D': (PDF のダウンロード)、ケース 'FD': (保存) です。このメソッド.ローカル ファイルへ) ステートメント。
このように、PHP が TCPDF を使用して PDF ファイルを生成すると、中国語名で保存できます。
関連チュートリアル:
thinkPHP ビデオ チュートリアル以上がTP フレームワークに tcpdf プラグインの手順と TCPD 中国語文字化けの解決策が導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Python と WebDriver を使用して Web ページのスクリーンショットを作成し、PDF ファイルとして保存する 概要: Web 開発およびテスト中に、分析、記録、レポート作成のために Web ページのスクリーンショットを作成することが必要になることがよくあります。この記事では、Python と WebDriver を使用して Web ページのスクリーンショットを撮り、そのスクリーンショットを PDF ファイルとして保存して簡単に共有したりアーカイブしたりする方法を紹介します。 1. SeleniumWebDriver をインストールして構成します。 Python をインストールします。 Python 公式 Web サイト (https:

インターネットとデジタル時代の到来により、画像はますます広く使用されており、特に情報セキュリティと著作権保護を確保するために画像に透かしや背景画像を追加する必要がある場合があります。この際、PHP言語とTCPDFライブラリを利用して画像の透かし処理や背景画像処理を実装することができますが、具体的な実装方法は以下の通りです。 1. TCPDF ライブラリをインストールする TCPDF は、PDF ドキュメントの作成に使用されるオープン ソースの PHP クラス ライブラリですが、画像を作成するためのツールもいくつか提供しています。 TCPDF クラス ライブラリのインストールは比較的簡単です。

CakePHP は、Web アプリケーション開発に多くの便利な方法を提供する非常に人気のある PHP フレームワークです。 TCPDF は、アプリケーションで PDF ファイルを生成する必要がある場合に非常に一般的に使用される PDF 生成ライブラリです。この記事ではCakePHPでTCPDFを使う方法を紹介します。 TCPDF をインストールする まず、CakePHP プロジェクトに TCPDF をインストールする必要があります。これは、TCPDF をプロジェクトの v に手動でコピーするなど、いくつかの方法で実行できます。

バーコードとQRコードは、現代の生活で広く使用されている重要なツールです。物流、小売、医療、決済など様々な分野で幅広く活用されています。この記事では、PHP と TCPDF ライブラリを使用してバーコードと QR コードを作成する方法を紹介します。 1.TCPDFとは何ですか? TCPDF は、PDF ドキュメントを生成するための PHP ライブラリです。これは無料のオープンソースであり、すでに多くのプロジェクトで広く使用されています。 TCPDF は PDF ドキュメントの生成に加えて、バーコードや QR コードを作成する機能も提供します。 2.Tのインストール方法

Pagoda に thinkphp5 をデプロイするときに報告されたエラーの解決策: 1. Pagoda サーバーを開き、php pathinfo 拡張機能をインストールして有効にします; 2. 「.access」ファイルをコンテンツ「RewriteRule ^(.*)$index.php」で構成します。 ?s=/$1 [QSA ,PT,L]”; 3. Web サイト管理で、thinkphp の疑似静的機能を有効にするだけです。

変換方法: 1. pdfcrowd や online2pdf などのオンライン変換ツールを使用すると、インストールせずに HTML ファイルを PDF にすばやく変換できます。 2. Chrome の HTML to PDF プラグインなどのブラウザ プラグインを使用すると、ブラウザ内で直接変換を実行できます。 3. Adobe Acrobat や Foxit PhantomPDF などのプロフェッショナル ソフトウェアは、より包括的な機能を提供し、高速バッチ変換と高度な出力オプションをサポートします。

thinkphp5 の URL 書き換えが機能しない場合の解決策: 1. mod_rewrite.so モジュールが httpd.conf 設定ファイルにロードされているかどうかを確認します; 2.AllowOverride None の None を All に変更します; 3. Apache 設定ファイル .htaccess を「RewriteRule ^」に変更します(.*)$index.php [L,E=PATH_INFO:$1]」を選択して保存します。

thinkphp5 が要求された URL を取得するためのメソッド: 1. "\think\Request" クラスの "$request = Request::instance();" メソッドを使用して、現在の URL 情報を取得します。 2. 組み込みヘルパーを使用します。関数「$request-> url()」を使用して、ドメイン名を含む完全な URL アドレスを取得します。
