2017-04-23 44 views
0

tcpdfが貧弱なドキュメントを持っているので、私は何も見つかりませんでした。 tcpdfを使用すると、テンプレートは画像と同じようにシンプルになりますhttp://prntscr.com/ezrdspイメージとテキストでdivを追加する方法tcpdfで回転する

しかし、問題は私が正しくトップセクションを回転させることができません。ここに私のコードは

$obj_pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
    $obj_pdf->AddPage('L' , 'A5'); 
    $obj_pdf->StartTransform(); 
    $obj_pdf->Rotate(-180); 

    $obj_pdf->image($logo1, 165 , 65, 0, 90, "PNG", "" , "M", true); 
    $obj_pdf->image($logo2, 0 , 65, 0, 90, "PNG", "" , "R", true); 

    $name = $functional_user->first_name .' '. $functional_user->last_name ; 
    $obj_pdf->SetTopMargin(-120); 
    $obj_pdf->SetLeftMargin(10); 
    $obj_pdf->setCellPaddings(0,0,0,0); 
    $tbl = '<br> <div class= "rotate" style="transform: rotate(180deg);"> 
      <table cellpadding="2" > 
      <tr> 
       <td><h1 style = "font-size: 40px; line-height: 1.3">'.$name.' </h1> 
       <br><br><span style="font-size: 13px"> 
       '.$org_logo_text.' </span> 
       </td> 
      </tr> 
      </table> 
      </div>'; 
    $obj_pdf->writeHTML($tbl, true, false, false, false, ''); 
    $obj_pdf->StopTransform(); 

    $obj_pdf->SetTopMargin(78); 
    $obj_pdf->image($logo1, 10 , 70, 40, 20, "PNG", "" , "M", true); 
    $obj_pdf->image($logo2, 165 , 70, 40, 20, "PNG", "" , "R", true); 

    $name = $functional_user->first_name .' '. $functional_user->last_name ; 
    $obj_pdf->SetTopMargin(100); 
    $obj_pdf->SetLeftMargin(10); 
    $obj_pdf->setCellPaddings(0,0,0,0); 
    $tbl = '<br> 
      <table cellpadding="2" > 
      <tr> 
       <td><h1 style = "font-size: 40px; line-height: 1.3">'.$name.' </h1> 
       <br><br><span style="font-size: 13px"> 
       '.$org_logo_text.' </span> 
       </td> 
      </tr> 
      </table>'; 
    $obj_pdf->writeHTML($tbl, true, false, false, false, ''); 
    $obj_pdf->lastPage(); 
    $obj_pdf->Output('/tmp/Nameplate_' . $i . '.pdf', 'F'); 
    $obj_pdf->Close(); 

誰かが私にこれを助けることができますか?

+0

どのような結果が得られましたか? – Jakuje

+0

テキストと画像の位置は変わりますが、回転は正しくありません。 http://prntscr.com/ezs9yj –

答えて

0

私はこれを自分自身で解決しました。私が間違っていたのは、rotate($ angle)関数を使用しています。そして、実際にはセクションを回転させますが、中心点を(0,0)または左上隅として取るので、回転後にセクション全体がpdfページの外に配置されます。最後に、rotate($ angle、$ px、$ py)関数を使って、pxとpyが対応する軸からそのセクションを押して、必要な場所を配置します。ここに私のコードは

$obj_pdf->StartTransform(); 
    $angle= 180; 
    $px= 105; 
    $py= 36; 
    $obj_pdf->Rotate($angle, $px, $py); 

    $obj_pdf->image($company_logo, 10 , 0, 40, 20, "PNG", "" , "M", true); 
    $obj_pdf->image($organization_logo, 165 , 0, 40, 20, "PNG", "" , "R", true); 

    $name = $functional_user->first_name .' '. $functional_user->last_name ; 
    $obj_pdf->SetTopMargin(27); 
    $obj_pdf->SetLeftMargin(10); 
    $fz = "35px"; 
    if(strlen($name)> 20) $fz = "40px"; 
    else if(strlen($name)> 18) $fz = "33px"; 
    $tbl = '<br><table cellpadding="1" > 
      <tr> 
       <td><h1 style = "font-size: '.$fz.'; line-height: 1.3">'.$name.' </h1> 
       <br><br><span style="font-size: 13px"> 
       '.$org_logo_text.' </span> 
       </td> 
      </tr> 
      </table>'; 
    $obj_pdf->writeHTML($tbl, true, false, false, false, ''); 
    $obj_pdf->StopTransform(); 
関連する問題