web-dev-qa-db-ja.com

dompdf-ページに合うようにPDFを拡大縮小します

だから私はdompdfを使ってhtmlのpdfを作成しています。これは本当にうまく機能しますが、唯一の問題は、htmlが大きすぎて、dompdfが2ページにわたって作成する場合です。 dompdfまたはhtmlで、1ページのみに拡大縮小する方法はありますか?

助けていただければ幸いです!ありがとうございました!

これが私の設定とPDFを作成するための私のコードです。

define("DOMPDF_ENABLE_HTML5PARSER", true);
define("DOMPDF_ENABLE_FONTSUBSETTING", true);
define("DOMPDF_UNICODE_ENABLED", true);
define("DOMPDF_DPI", 120);
define("DOMPDF_ENABLE_REMOTE", true);

require_once 'dompdf/dompdf_config.inc.php';

$dompdf = new \DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "portrait");
$dompdf->render();
$dompdf->stream("page.pdf", array("Attachment" => 0));  
11

申し訳ありませんが、[〜#〜] dompdf [〜#〜]には設定がありません。
ニーズを達成するには、[〜#〜] css [〜#〜]ファイルで遊んで画像サイズやテキストフォントサイズをカスタマイズする必要があります

2
Halayem Anis

DOMPDFには、CSSとテーブルに関するいくつかの問題があります。ベストプラクティスは、セルまたは行スパンを回避し、外部cssファイルを使用しないことです。また、限られたcssルールのセットのみがサポートされています。完全な CSSCompatibilityリスト をチェックしてください。

問題を解決するために、imgのインラインスタイルを_style="max-width:100%; max-height:100%;"_に設定してみましたか?

1ページ内の大きな画像(_4,256px × 2,832px_)を拡大縮小する完全な例を次に示します。

_<?php 
$html = <<< LOL
<html>
<head>
</head
<body>
<div width="100%"><img style="max-width:100%; max-height:100%;" src="http://www.norrbottenbigband.com/upload/images/norrbotten-big-band_hq.jpg"> </div>

</body>
</html>
LOL;

define("DOMPDF_ENABLE_HTML5PARSER", true);
define("DOMPDF_ENABLE_FONTSUBSETTING", true);
define("DOMPDF_UNICODE_ENABLED", true);
define("DOMPDF_DPI", 120);
define("DOMPDF_ENABLE_REMOTE", true);
//define("DOMPDF_ENABLE_JAVASCRIPT", true);
//define("DOMPDF_ENABLE_CSS_FLOAT", true);

require_once 'dompdf_config.inc.php';

$dompdf = new \DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "portrait");
$dompdf->render();
$dompdf->stream("page.pdf", array("Attachment" => 0)); 
_

上記のいずれも機能しない場合は、出力pdfをdiv内に配置し、divを特定のサイズに設定してみてください。

0
Pedro Lobito