ホームページ バックエンド開発 PHPチュートリアル TP フレームワークに tcpdf プラグインの手順と TCPD 中国語文字化けの解決策が導入

TP フレームワークに tcpdf プラグインの手順と TCPD 中国語文字化けの解決策が導入

Apr 26, 2019 pm 05:31 PM
PDFファイル tcpdf thinkphp5

この記事では、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, &#39;&#39;, &#39;&#39;, $html, 0, 1, 0, true, &#39;&#39;, true);
$pdf->Output(&#39;example_001.pdf&#39;, &#39;I&#39;);
ログイン後にコピー

注:

1. TCPDF は HTML やその他のコンテンツの出力に区切り文字を使用するため、上記のコードの $html は EOD まで同じ形式である必要があります。

2. ThinkPHP はデバッグ モードをオフにする必要があります。オフにしないと、出力が文字化けします。

TCPD中国語文字化け問題の解決方法

TCPDFの最新版ではすでに中国語に対応しており、PDFの生成方法で中国語のエンコードを指定するだけで済みます。

$pdf->SetFont(&#39;stsongstdlight&#39;, &#39;&#39;, 12);
ログイン後にコピー

TCPDF で中国語のファイル名を保存できない問題の解決策

PHP が TCPDF を使用して PDF ファイルを生成するとき、ファイル名が中国語の場合、直接以下は、中国語のファイル名を保存できない場合の TCPDF の解決策です:

tcpdf.php ファイルを開いて、約 7554 行目の出力関数を見つけます。

1. 次のコード (約 7565 ~ 7568 行目) をコメント化します:

if ($dest[0] != &#39;F&#39;) {
    $name = preg_replace(&#39;/[\s]+/&#39;, &#39;_&#39;, $name);
    $name = preg_replace(&#39;/[^a-zA-Z0-9_\.-]/&#39;, &#39;&#39;, $name);
}
ログイン後にコピー

2. メソッド コードを検索し、次のコード (約 7639、7670、7693、および 7693 行目) を置き換えます。 7718。

header(&#39;Content-Disposition: attachment; filename="&#39;.basename($name).&#39;"&#39;);
ログイン後にコピー

に置き換えられます

header(&#39;Content-Disposition: attachment; filename="&#39;.$name.&#39;"&#39;);
ログイン後にコピー

上記のコードは、ケース 'I': (PDF の印刷)、ケース 'D': (PDF のダウンロード)、ケース 'FD': (保存) です。このメソッド.ローカル ファイルへ) ステートメント。

このように、PHP が TCPDF を使用して PDF ファイルを生成すると、中国語名で保存できます。

関連チュートリアル:

thinkPHP ビデオ チュートリアル

以上がTP フレームワークに tcpdf プラグインの手順と TCPD 中国語文字化けの解決策が導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Python と WebDriver を使用して Web ページをキャプチャし、PDF ファイルとして保存する Python と WebDriver を使用して Web ページをキャプチャし、PDF ファイルとして保存する Jul 08, 2023 pm 10:55 PM

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

PHP と TCPDF を使用して透かしと背景画像を作成する PHP と TCPDF を使用して透かしと背景画像を作成する May 11, 2023 am 08:37 AM

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

CakePHP で TCPDF を使用するにはどうすればよいですか? CakePHP で TCPDF を使用するにはどうすればよいですか? Jun 05, 2023 pm 12:40 PM

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

PHP と TCPDF を使用してバーコードと QR コードを作成する PHP と TCPDF を使用してバーコードと QR コードを作成する May 11, 2023 pm 04:42 PM

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

Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか? Pagoda に thinkphp5 をデプロイするときにエラーが発生した場合はどうすればよいですか? Dec 19, 2022 am 11:04 AM

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

HTMLファイルをPDFファイルに変換する方法 HTMLファイルをPDFファイルに変換する方法 Apr 02, 2024 pm 02:02 PM

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

thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか? thinkphp5 の URL 書き換えが失敗した場合はどうすればよいですか? Dec 12, 2022 am 09:31 AM

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を取得する方法 thinkphp5でリクエストされたURLを取得する方法 Dec 20, 2022 am 09:48 AM

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

See all articles