标签: mpdf

mpdf如何在版本7上设置页边距?

新7版本如何设置边距?我想删除页面的边距,设置为 0。在版本 6 中,我将它们设置为新的 mPDF(但现在我不知道怎么可能

关于6我用过的:

$pdf = new \mPDF('utf-8', 'A4'.($orientation == 'L' ? '-L' : ''), '', '', $margin_left, $margin_right, $margin_top, $margin_bottom, 0, 0);
Run Code Online (Sandbox Code Playgroud)

现在?

谢谢

mpdf

1
推荐指数
1
解决办法
4141
查看次数

mpdf 不起作用 [致命错误:未找到特征“Mpdf\Strict”]

我已经下载了 mpdf 的更新版本并将其与 php 一起使用。它给了我以下错误。

“致命错误:在第 39 行的 E:\xampp\htdocs\PDF\mpdf\Mpdf.php 中未找到特征 'Mpdf\Strict'”。

$html = '<h2>mpdf test.</h2>';

include("mpdf/mpdf.php");

$mpdf = new mPDF('c','A4','','',32,25,27,25,16,13); 

$mpdf->SetDisplayMode('fullpage');

$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first 
 level of a list

// LOAD a stylesheet
$stylesheet = file_get_contents('mpdfstyletables.css');
$mpdf->WriteHTML($stylesheet,1);    // The parameter 1 tells that this is css/style only and no body/html/text

$mpdf->WriteHTML($html,2);

$mpdf->Output('mpdf.pdf','I');
exit;
Run Code Online (Sandbox Code Playgroud)

php mpdf

1
推荐指数
1
解决办法
1万
查看次数

PHP mPDF库不会正确编号偶数/奇数页

我正在尝试用PHP做一些PDF生成.我发现mPDF通常效果很好.我遇到的一个问题是,我需要为某些部分设置偶数/奇数页的单独标题.我不认为这个功能正常.这是我的代码:

// load mPDF
// --------------------------------------------------------------------------
include('mpdf.php');
$mpdf = new mPDF();

// generate a lot of content so it spans multiple pages
// --------------------------------------------------------------------------
$i = 0;
$out = '';
while ($i < 300)
{
    $i++;
    $out .= '<p>Lorem Ipsum</p>';
}
// set html header for odd pages, write html and output
// --------------------------------------------------------------------------
$mpdf->SetHTMLHeader('ODD {PAGENO}', 'O');
$mpdf->WriteHTML($out);
$mpdf->Output();
Run Code Online (Sandbox Code Playgroud)

当我运行这个代码时,它会在每个页面上放置"ODD Page 3"或它所在的任何页面.不只是奇怪的页面.它似乎不会将自然破碎的页面视为偶数或奇数的新页面,只是手动破坏的页面.如果我运行AddPage()函数,它会将下一个组视为偶数页面.但这可能是50个自动分页符.

有关如何让它为实际偶数/奇数页设置不同标题的任何建议,而不仅仅是在手动分页后?

php pdf mpdf

0
推荐指数
1
解决办法
5262
查看次数

使用MPDF将带有变量的.php文件转换为HTML

在php中创建页面后,我使用mpdf创建一个看起来像页面的pdf.该页面是收据,因此其中一些条目是变量.将收据页面('Receipt_Template_2.php')转换为pdf的页面代码为:

<?php
include("MPDF57/mpdf.php");

ob_start();
include "Receipt_Template_2.php"; 
$template = ob_get_contents();
ob_end_clean();

$mpdf=new mPDF('','A4','','',32,25,27,25,16,13,'L'); 

$mpdf->WriteHTML($template);

$mpdf->Output('MyPDF.pdf', 'D');
?>
Run Code Online (Sandbox Code Playgroud)

但是,实际收据模板页面上正确打印了php变量.但是,这些变量不会打印到收据上(字段留空).谢谢.

我主要在收据模板中使用会话变量,如下所示:

<div id="apDiv1"><img src="Receipt_Template_2.jpg" width="765" height="519"></div>
<div id="apDiv2">
<p><strong><?php echo $_SESSION['firstName'] . ' ' . $_SESSION['lastName'];?></strong>       </p>
  <p><?php echo $_SESSION['address'];?></p>
  <p><?php echo $_SESSION['city'] . ' ' . $_SESSION['province'];?></p>
  <p><?php echo $_SESSION['postal'];?></p>
  <p><?php echo $_SESSION['country'];?></p>
</div>
<div id="apDiv3"><?php echo $_SESSION['dateReceived'];?></div>
<div id="apDiv4"><?php echo date("Y-m-d");?></div>
<div id="apDiv5"><?php echo $_SESSION['locationIssued'];?></div>
<div id="apDiv18">$<?php echo $_SESSION['donationAmount'];?></div>
<div id="apDiv6"><?php echo $preReceiptNumber . $receiptNumber;?></div>
Run Code Online (Sandbox Code Playgroud)

html php mpdf

0
推荐指数
1
解决办法
5868
查看次数

mPDF(PHP)中的水印无法正常工作

我的php脚本使用mPDF有一个奇怪的问题.我从HTML生成PDF文件,我想在每个页面上设置水印.所以我在手册中尝试:

  if($_REQUEST['WATERMARK']==1){
        $mpdf->SetWatermarkText('draft');
        $mpdf->showWatermarkText = true;
        $mpdf->watermarkTextAlpha= 0.4;
    }
Run Code Online (Sandbox Code Playgroud)

但它工作错误,因为它没有清晰地设置水印(就像我将设置watermarkTextAlpha = 1,重叠在主文本上).但在其他脚本(有点不同)中它运作良好.

php watermark mpdf

0
推荐指数
1
解决办法
2884
查看次数

mpdf更改临时路径(composer包)

我已经mpdf/mpdf通过composer 安装了.

所有这些都在开发环境中完美运行,但在生产/暂存中,我收到权限错误.

file_put_contents(\/.../ttfontdata\/dejavusanscondensed.GSUBGPOStables.dat): failed to open stream: Permission denied' in .../shared\/vendor\/mpdf\/mpdf\/classes\/ttfontsuni.php:999\nStack trace:\n#0 [internal function]: Illuminate\\Exception\\Handler->handleError(2, 'file_put_conten...', '...', 999, Array)\n#1 
Run Code Online (Sandbox Code Playgroud)

根据mpdf文档,我需要定义我的存储文件夹的路径:

// Tried this at top of index.php before require bootstrap/autoload.php
define("_MPDF_TEMP_PATH", dirname(__FILE__) . '/../app/storage/mpdf/');

// Tried this just before creating a new mpdf
define("_MPDF_TEMP_PATH", storage_path() . '/mpdf/');
Run Code Online (Sandbox Code Playgroud)

我使用Laravel作为框架 - 而mpdf只是不会使用我指定的临时文件夹

php permissions mpdf laravel

0
推荐指数
1
解决办法
5822
查看次数

使用mPDF生成的PDF上不会显示FontAwesome图标

我正在使用mPDF生成工资单。但是,工资单中的图标一旦生成就不会显示。它只留下一个空白,就像这样:

在此处输入图片说明

图标应显示在突出显示的位置上。到目前为止,这是我已经完成的工作:

我正在使用Yii2 PHP框架,这是我的动作控制器:

public function actionPdf($id)
{
    $model = $this->findModel($id);
    $earnings = EarningDetails::find()->where(['payslip_id' => $model->_id, 'status' => 1])->all();
    $deductions = DeductionDetails::find()->where(['payslip_id' => $model->_id, 'status' => 1])->all();
    $html = $this->render('view', [
        'model' => $model,
        'earnings' => $earnings,
        'deductions' => $deductions,
    ]);
    $mpdf = new mPDF('c','A5-L','0','',0,4,1,1,0,0);
    $mpdf->allow_charset_conversion = true; 
    $mpdf->charset_in = 'windows-1252';
    $mpdf->SetTopMargin(0);
    $user_password = User::find()->where(['_id' => $model->user_id ])->one(); 
    $password = $user_password->fname.$user_password->lname;
    $mpdf->SetProtection(array(), $password, $password);
    $mpdf->WriteHTML($html);
    $mpdf->Output('Payslip.pdf', 'D');
    exit;        
}
Run Code Online (Sandbox Code Playgroud)

我想念什么吗?请告诉我。

php pdf icons mpdf

0
推荐指数
1
解决办法
4827
查看次数

来自kartik \ mpdf(Yii2)中HTML的新页面

我有个问题。如何将新页面从HTML添加到PDF?

我将立即说我不知道​​为什么,但是有以下解决方案:

<pagebreak />
Run Code Online (Sandbox Code Playgroud)

要么

h1 {page-break-before: always}
Run Code Online (Sandbox Code Playgroud)

不工作。

我的PHP代码:

$pdf = new Pdf([
    'mode' => Pdf::MODE_UTF8,
    'format' => Pdf::FORMAT_A4,
    'orientation' => Pdf::ORIENT_PORTRAIT,
    'destination' => Pdf::DEST_FILE,
    'filename' => $path,
    'content' => $content,
    'cssInline' => '.font_next{font-family:DoodlePen}table{border-collapse:collapse;width:100%}td{border:1px solid #000}',
]);
return $pdf->render();
Run Code Online (Sandbox Code Playgroud)

有没有人有这种经验,可以为您提供帮助?

pdf pdf-generation mpdf yii2

0
推荐指数
1
解决办法
3071
查看次数

无法在mpdf中显示base64图像

我仍然有点新的mpdf,我尝试使用嵌入式base64使用mpdf显示图像.以下是我的代码.

$kad_photo = base64_encode($row['kad_photo']);
header('Content-Type: image/jpeg;');
$photo = "<img src=\"data:image/jpeg;base64, ".$kad_photo."\"/>";
$mpdf->WriteHTML($photo);
Run Code Online (Sandbox Code Playgroud)

当我把$mpdf->showImageErrors = true;:我得到这个错误:

mPDF error: IMAGE Error (0f5155bea7f7e18dc9f7c35b695d1705): Error parsing JPG header
Run Code Online (Sandbox Code Playgroud)

我尝试了这种方法,它的工作原理!

$mpdf->WriteHTML("<img src=".$_SERVER['DOCUMENT_ROOT']."/vms/images/logo/logo.png " . 
                 "width=\"500\" height=\"50\">");
Run Code Online (Sandbox Code Playgroud)

但是对于底座64我没有显示它.

除此之外,因为$photo,我得到file_put_content了字符串并将其粘贴到jsfiddle,它工作!但是在mpdf中我无法显示base64图像.

任何建议为什么我不能使用嵌入式base64显示图像?

可能需要的信息

  1. php.ini中的Gd模块已启用
  2. Window 10单一语言

html php mpdf

0
推荐指数
1
解决办法
4321
查看次数

如何使用 Codeigniter 将 Mpdf 输出附加为电子邮件附件?

在我的控制器中生成 pdf 布局,然后将其附加为 Pdf 并使用自定义文件名。这是代码

$this->load->library('mpdf');
$mpdf = new Mpdf('L', 'A4', 0, 'Trebuchet MS', 6, 6, 9, 9, 3, 3, 'L');
ob_start();
echo $this->generateFoodReport($inspectionId);
$html = ob_get_contents();
ob_end_clean();
$mpdf->WriteHTML(utf8_encode($html));
$content = chunk_split(base64_encode($mpdf->Output('', 'S')));
$filename = "inspection-report.pdf";

$this->load->library('email');
$this->email->set_mailtype("html");
$this->email->set_newline("\r\n");
$this->email->from($fromMail, $fromName);
$this->email->to($mailTo);
$this->email->subject($subject);
$this->email->attach($content):
$this->email->send();
Run Code Online (Sandbox Code Playgroud)

如何通过电子邮件附加文件。

email codeigniter mpdf

0
推荐指数
1
解决办法
5084
查看次数

标签 统计

mpdf ×10

php ×7

pdf ×3

html ×2

codeigniter ×1

email ×1

icons ×1

laravel ×1

pdf-generation ×1

permissions ×1

watermark ×1

yii2 ×1