0

TCPDF ライブラリを使用して SVG 画像を含む PDF を作成しようとしています。SVG をページの中央に配置し、その上下にテキストを配置したいと考えていました。

これをうまく機能させることができましたが、SVG 画像の一部が切り取られています。X/Y 位置に関係しているようですが、この問題を修正する方法がわかりません。

SVG 画像を切り取る TCPDF ライブラリ エラーの原因は何ですか?

コード:

<?php 

require_once('../../TCPDF/tcpdf.php');

// Remove the default header and footer
class PDF extends TCPDF { 
    public function Header() {} 
    public function Footer() {} 
} 

$pdf = new PDF();

$pdf->AddPage();

$pdf->SetFont('helvetica', 'B', 160);

$pdf->SetTextColor(0,0,0);

$pdf->Cell(0, 0, 'Higher', 1, 1, 'C', false, '', 1);

$pdf->Ln(4);

$pdf->ImageSVG($file='Image.svg', $x=0, $y=80, $w=100, $h=100, $link='', $align='N', $palign='C', $border=1, $fitonpage=false);

$pdf->Ln(4);

$pdf->Cell(0, 0, 'Lower', 1, 1, 'C', 0, '', 1);

$file = 'Result' . '.pdf'; // Set the name of the PDF file

$pdf->Output($file, 'F'); // Save PDF to file

$pdf->Output($file, 'I'); // Display the PDF

?>
4

2 に答える 2

3

これは、私が使用していた現在のバージョンの TCPDF ライブラリのバグのようです。

問題は、整列機能を使用する場合です。

$align='N', $palign='C'

など、他の誰かが同様の問題を抱えており、その回避策が必要な場合は、x/y 位置を使用して手動で SVG を中央に配置することで修正しました。

注意すべきもう1つの問題は、大きなサイズのSVG画像を使用しようとしたときに、視覚的な不具合が発生することに気付いたので、SVGの処理には間違いなくいくつかのバグがあるようです. その問題に対して私が見つけた回避策は、SVG のサイズを小さくし、代わりに幅/高さの値を使用してスケーリングすることでした。これにより、問題が修正されたようです。

于 2012-07-30T18:59:33.513 に答える