我正在使用mPDF从html生成pdf.
在我的localhost上,pdf将成功生成到找到的目录.但不是在Server上,虽然我已经打开了该目录的权限.
chmod -R 0777 /mydirectory
Run Code Online (Sandbox Code Playgroud)
从答案中找到 此评论并更改fopen($file_out,'wb');为fopen($file_out,'w+');mpdf.php
但没有成功.
谢谢你的帮助.
mPDF:隐藏表格行(CSS 显示:无)不起作用。你有什么建议吗?我的代码:
<table align="center">
<tr style="display:none">
<td valign="top" align="left">InfoOption1:</td>
<td valign="top" align="left" colspan="2">#InfoOption1</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我目前正在使用 mpdf 从 html 生成 pdf。到目前为止,使用我当前传递的 html,我能够生成带有页眉和页脚的一页 pdf。但是,如果有多个页面,我的页脚会一直到第二页的底部。有没有办法为每个页面添加页眉和页脚?
我已经尝试过 $pdf->setHTMLHeader 但它似乎没有接受我的 css 文件,并且在我的徽标应该在的地方留下了一个 x 。我怎样才能做到这一点?我尝试在不同的地方进行搜索,但似乎找不到解决方案。
这是我的代码
public function generate_pdf($account_id,$transaction_id,$html){
$document_folder = $_SERVER['DOCUMENT_ROOT']."/".DOCUMENT_FOLDER."/".PAYMENT_RECEIPTS."/".date("Y");
$extension = ".pdf";
if(!is_dir($document_folder)){
mkdir($document_folder, 0777,true);
}
$file_name = md5($transaction_id.$account_id);
$this->load->library('m_pdf');
$pdf = $this->m_pdf->load();
$header = $this->load->view('pdfs/header','',true);
$footer = $this->load->view('pdfs/footer','',true);
$pdf->setHTMLHeader($header);
$pdf->setHTMLFooter($footer);
$pdf->AddPage('', // L - landscape, P - portrait
'', '', '', '',
5, // margin_left
5, // margin right
60, // margin top
30, // margin bottom
0, // margin header
0
); // margin footer …Run Code Online (Sandbox Code Playgroud) 我可以在网页上并排保留两个元素,但不能在使用 mPDF 生成的 PDF 中保留两个元素。第一个元素是“div”元素,第二个元素是图像。我尝试设置“显示”属性。但 mPDF 对内联块元素有一些限制。感谢您的帮助。谢谢。
代码结构是这样的:
<div>
<h4><span>Some Text</span></h4>
<span>Some other text</span>
</div>
<img src="some_url">
Run Code Online (Sandbox Code Playgroud)
PDF 是通过 mPDF 的“WriteHTML”函数调用生成的。我将整个 HTML 传递给此函数以将 HTML 写入文档。
我正在尝试使用 mpdf从我的原始所见即所得到 pdf生成 1:1 a4 页面。所以使用这个css:
#editor {
background-color: gray;
border: 1px black;
padding: 1em 2em;
}
.page {
background-color: white;
border-style: solid;
border-color: black;
border-width: 1px;
/*padding: 10em 2em;*/
width: 595px;
height: 841px;
display: flex;
flex-direction: column;
}
.content {
word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;
padding-left: 2cm;
padding-bottom: 2cm;
padding-top: 2cm;
outline-color: white;
}
.header {
background-color: red;
text-align: center;
}
.footer {
background-color: darkgray;
margin-top: auto;
height: 100px;
page-break-after:right;
}
.brasao {
height: 60px;
width: …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 MPDF,但加载它时出现以下错误,有人知道为什么吗?https://github.com/mpdf/mpdf
我的代码
<?php
require_once APPPATH.'/third_party/mpdf/src/Mpdf.php';
$mpdf = new mPDF('c','A4');
$mpdf->writeHTML('<div>HELLO WORLD</div>');
$mpf->Output('new.pdf','I');
?>
Run Code Online (Sandbox Code Playgroud) 我正在使用 mPDF 将表单输入数据保存为 PDF。对于英语,它工作正常。任何人都可以使用此代码将 HTML 表单数据保存为 PDF。
问题:为了满足我的项目要求,我需要使用中文。我当前的代码对此不起作用。
表单.html
<form action='processPDF.php' method='post'>
<label for="name">Name</label>
<input name="name" type="text" id="name">
<input type='submit' name='submit' value='Download PDF'>
</form>
Run Code Online (Sandbox Code Playgroud)
进程PDF.php
<?php
header('Content-Type: text/html; charset=UTF-8');
if (isset($_POST['submit'])) {
if (isset($_POST['name'])) {
$name = $_POST['name'];
} else {
$Larmtid = '';
}
if (!isset($error)) {
ob_start();
?>
<div style="padding:20px;">
<p>Name: <?php
echo $name;
?></p>
</div>
<?php
$body = ob_get_clean();
$body = iconv('UTF-8', 'UTF-8//IGNORE', $body);
$body = iconv('UTF-8', 'UTF-8//TRANSLIT', $body);
include("mpdf/mpdf.php");
$mpdf = new \mPDF('c', 'A4', '', '', …Run Code Online (Sandbox Code Playgroud) 我目前正在使用mpdf 6.1,我想切换到7.但我找不到一种方法来安装它没有 composer.是否有完整的软件包可以在我的本地主机上下载,解压缩和测试?
我正在尝试从视图生成 pdf,但样式就是不出来。我尝试过使用 3 个不同的库,但结果并没有太大不同。我错过了什么吗?
view
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Test View</title>
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset('css/app.css') }}">
<script src="{{ asset('js/app.js') }}" defer></script>
</head>
<body class="font-sans antialiased">
<div class="grid grid-cols-3">
<div class="bg-red-200 col-span-2 h-screen"></div>
<div class="bg-blue-200 h-screen">
<div class="grid grid-cols-8">
<div class="col-span-7">
<div class="rounded-t-full w-full h-screen flex items-center justify-center bg-green-600">
<div class="h-60 w-60 rounded-full bg-blue-500">TEST</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
appearance
dompdf export method
protected function dompdfImplementation()
{
$dompdf = new …Run Code Online (Sandbox Code Playgroud) 我在生成 mPDF 所需的时间上有一些很大的差异。在 AWS(带 Docker 的无服务器)托管应用程序上,我花了 25 秒才能生成 PDF,而在安装了 Ubuntu 的 VPS 上生成完全相同的 PDF 需要 5 秒。PDF 不包含任何图像,仅包含纯文本。
我可以在 AWS 上配置一些可以加快速度的东西吗?就像在我的 Docker 实例中安装一些额外的包一样?
mpdf ×10
php ×7
html ×4
css ×3
pdf ×2
codeigniter ×1
dompdf ×1
html-to-pdf ×1
laravel ×1
tailwind-css ×1
tcpdf ×1