添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

生成简单的pdf

//实例化mpdf
        $mpdf = new \Mpdf\Mpdf([ 'mode' => 'UTF-8', 'format' => 'A4', 'default_font_size' => 40, 'default_font' => '', 'margin_left' => 20, 'margin_right' => 20]);//utf-8
        //$mpdf->SetAutoFont(AUTOFONT_ALL);//使用6.0以上版本不需要
        //获取要生成的静态文件
        // 支持中文
        $mpdf->useAdobeCJK = true;
        $mpdf->autoScriptToLang = true;
        $mpdf->autoLangToFont = true;
        //设置pdf显示方式
        $mpdf->SetDisplayMode('fullpage');
        //设置pdf的尺寸为270mm*397mm
        //$mpdf->WriteHTML('<pagebreak sheet-size="270mm 397mm" />');
        $time = "2022-8-1";
        $html1 = "
            <h2 style='text-align: center;font-size: 28px'>标题<h2>
            <h4 style='text-align: center;font-size: 20px'>——副标题</h4>
             <diV style='font-size: 14px;text-align: left'>报告时间:2022-01-02</diV>
            <diV style='font-size: 14px;text-align: left'>报告地点</diV>
            <img style='width:400px;height:350px;margin: 0;padding: 0;text-align: center' src='http://sanshi-file.oss-accelerate.aliyuncs.com//uploads/20220718/3bb9164bd8acc75af03d3d9391b05b62.png' >
       $mpdf->WriteHTML($html1);
		$file_path = ROOT_PATH . 'public/uploadpdf/' . Date('Ymd');//保存路径
        //如果不存在此目录,则创建此目录
        if (!is_dir($file_path)) {
            mkdir($file_path, 0777, true);
        $Name = '123.pdf';    //文件名
        $fileName = $file_path . '/' . $Name;        //文件路径+名字
        //输出pdf
        $mpdf->Output($fileName); //可以写成下载此pdf   $mpdf->Output('文件名','D');
所有标准页面格式、自定义页面格式、自定义边距和计量单位;
UTF-8 Unicode 和从右到左的语言;
TrueTypeUnicode、OpenTypeUnicode、TrueType、OpenType、Type1 和 CID-0 字体;
字体子集;
发布一些 XHTML + CSS 代码、Javascript 和表单的方法;
图像、图形(几何图形)和换方法;
原生支持 JPEG、PNG 和 SVG 图像,GD 支持的所有图像(GD、GD2、GD2PART、GIF、JPEG、PN
				
在这个程序之前需要做的是office文件化为pdf,详情见我另外一个下载文件,如果只是单纯的pdf文件,这步可省略。 为了兼容移动端问题 最好是做成pdf预览或者图片合成预览 就是对pdf进行图片化处理,把部分pdf生成图片,最后合成
最近遇到了需要把多个PDF文件合并成一个PDF文件、把PNG格式的图片合并生成一个新的PDF文件的需求。 解决办法是采用Fpdi类库来实现。 * composer命令安装:composer require setasign/fpdf * composer命令安装:composer require setasign/fpdi <?php //档案管理中的公用方法 //引入加载PDF合成多个PDF的扩展 vendor('setasign.fpdi.autoload'); use setasig 使用:wq 时,无论文件的内容是否改变,都会对文件重新写入,并改变文件的修改时间 使用:x时,当文件内容未被修改时,只是退出文件,文件的修改时间不会改变。当文件内容被修改时,保存文件并退出,文件的修改时间会改变 使用:X对文件加密 使用vim打开文件,并进入末行模式,输入命令:X,回车,输入两次密码回车,此时需要进入末行模式,使用:wq保存文件并退出时,加密才会生效。 此处,对文件加密,默认是没有改变文件内 $pdf->SetCreator('PHP TCPDF'); $pdf->SetAuthor('Your Name'); $pdf->SetTitle('Sample PDF'); $pdf->SetSubject('PHP TCPDF'); $pdf->SetKeywords('PDF, TCPDF, PHP'); // 添加第一页 $pdf->AddPage(); // 设置字体和字号 $pdf->SetFont('helvetica', '', 12); // 添加文本内容 $pdf->Cell(0, 10, 'Hello, World!', 0, 1, 'C'); // 输出PDF文件 $pdf->Output('output.pdf', 'D'); 以上代码使用了TCPDF库来生成PDF。首先,我们需要导入TCPDF类,并创建一个新的PDF对象。然后,我们可以设置文档信息,例如创建者、作者和标题等。接下来,我们添加一页,并设置字体和字号。最后,我们输出PDF文件,可以选择直接下载(使用'D'标志)或保存到服务器上(使用'F'标志)。 请注意,这只是一个简单的示例代码,有关TCPDF库更多的功能和设置选项,请查阅官方文档。同时,还有其他一些流行的PHP库可以用于生成PDF,如FPDF和Dompdf等,具体使用方法可以参考它们的官方文档。