Test.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace app\task\controller;
  3. use TCPDF;
  4. class Test
  5. {
  6. public function createPdf()
  7. {
  8. // 创建新的PDF文档
  9. $pdf = new TCPDF();
  10. // 设置文档信息
  11. $pdf->SetCreator(PDF_CREATOR);
  12. $pdf->SetAuthor('Your Name');
  13. $pdf->SetTitle('PDF with Watermark');
  14. $pdf->SetSubject('TCPDF Tutorial');
  15. $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
  16. // 设置默认的头信息, 传入空字符串禁用
  17. $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING);
  18. // 设置头部和底部字体
  19. $pdf->setHeaderFont([PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN]);
  20. $pdf->setFooterFont([PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA]);
  21. // 移除默认的页脚
  22. $pdf->setPrintFooter(false);
  23. // 设置默认的单元格边距
  24. $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
  25. // 设置间距
  26. $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
  27. $pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM);
  28. // 设置图像比例因子
  29. $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
  30. // 设置默认的字体,这里设置为DejaVuSans
  31. // $pdf->SetFont('dejavusans', '', 14);
  32. // 添加页面内容
  33. $pdf->AddPage();
  34. $pdf->Write(0, "I'm a simple text to test the watermark.\n");
  35. // 设置水印文字
  36. $watermarkText = "水印水印水印水印水印";
  37. $pdf->SetFont('msyh', '', 50);
  38. // 计算斜着文字的起始坐标
  39. $x = $pdf->getX();
  40. $y = $pdf->getY();
  41. // 设置斜着文字的角度
  42. $angle = 45;
  43. // 使用Rotate()函数插入斜着的文字水印
  44. $pdf->StartTransform();
  45. $pdf->Rotate($angle, $x, $y);
  46. $pdf->SetTextColor(200, 200, 200);
  47. $pdf->Text($x, $y, $watermarkText);
  48. $pdf->StopTransform();
  49. // $pdf->SetTextColor(200, 200, 200);
  50. // $pdf->SetXY(20, 50);
  51. // $pdf->Write(0, 'Watermark');
  52. // $pdf->SetXY(100, 50);
  53. // $pdf->Write(0, '水印'); //中文乱码
  54. $pdf->Output(WEB_PATH.'temp'.'/'.'AA.pdf', 'F'); //生成PDF文件到某地
  55. // 输出PDF
  56. $pdf->Output('AA.pdf', 'I');
  57. }
  58. }