- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个 Wordpress 网站,该网站在 WAMP 服务器和由 GoDaddy 托管的 Linux 服务器上运行。
我正在使用 wkhtmltopdf 生成 PDF 文档。
在 WAMP 服务器上,一切都按预期工作,但在 Godaddy+Linux 服务器上,没有创建 PDF,我只是得到一个空文档。
我检查了日志,没有列出任何内容。
是我在linux环境下的代码做错了,还是服务器端主机有问题?
<?php
require_once("../../../../wp-blog-header.php");
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['url']) && !empty($_GET['url'])) {
$post_id = url_to_postid($_GET['url']);
$post = $post_id ? get_post($post_id) : null;
if($post){
$post_url = get_permalink($post_id);
$html = file_get_contents($post_url);
$descriptorspec = array(
0 => array('pipe', 'r'), // stdin
1 => array('pipe', 'w'), // stdout
2 => array('pipe', 'a'), // stderr <http://us3.php.net/manual/en/function.proc-open.php#97012>
);
$exe_path = (PHP_OS == 'WINNT') ? '"C:/wamp/bin/wkhtmltopdf/wkhtmltopdf.exe"' : ($_SERVER["DOCUMENT_ROOT"] . "/cgi-bin/whkhtmltopdf");
//$process = proc_open("$exe_path -q - -", $descriptorspec, $pipes);
$process = proc_open("$exe_path -q --print-media-type - -", $descriptorspec, $pipes);
// Send the HTML on stdin
fwrite($pipes[0], $html);
fclose($pipes[0]);
//stream_set_timeout($pipes[1], 1);
//stream_set_timeout($pipes[2], 1);
// Read the outputs
$pdf = stream_get_contents($pipes[1]);
$errors = stream_get_contents($pipes[2]);
// Close the process
fclose($pipes[1]);
$return_value = proc_close($process);
if($errors) {
header("HTTP/1.1 500 Internal Server Error");
header('Content-Type: text/plain');
echo "An error occurred during PDF generation:\r\n\r\n$errors";
} else {
$file_name = "$post->post_title.pdf";
header('Content-Type: application/pdf');
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s').' GMT');
header('Content-Length: ' . strlen($pdf));
header('Content-Disposition: inline; filename="' . $file_name . '";');
echo $pdf;
}
} else {
header("HTTP/1.1 500 Internal Server Error");
header('Content-Type: text/plain');
echo "An error occurred during PDF generation:\r\n\r\nUnrecognized post.";
}
}
最佳答案
原来这个问题对我来说是双重的。我能够确定我使用了错误的可执行版本(32 位与 64 位)。命令行中有一个段错误代码,修复后导致我遇到另一个问题,即服务器上缺少许多库。
关于pdf - 在 Linux 服务器上使用 wkhtmltopdf 创建 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34822048/
我使用 WKHTMLTOPDF 生成 pdf。在我的页面上,我有一张没有边框的表格。在浏览器中一切正常。表格示例: MyHeader
我正在使用 wkhtmltopdf 将网页下载为 pdf。 但是 css 属性 letter-spacing 似乎不起作用 font-size:20px; letter-spacing:0px; fo
我需要将 html 文本转换为 pdf。 这里的大多数答案都建议使用 pdfkit 和 wkhtmltopdf ( https://wkhtmltopdf.org/ )。 但是,我公司不允许我安装 w
我使用 wkhtmltopdf 从几个网页创建了一个 PDF。 有没有办法跨页面链接,例如从第 10 页到第 15 页。 我尝试创建一个带有 ID 的元素,然后创建一个链接到它的 anchor ,但这
我正在使用 wkhtmltopdf 生成 PDF,这非常棒。但是,有时该工具会返回退出代码,但在很多情况下,PDF 似乎仍然可以正确生成。 我怎么知道wkhtmltopdf未能完成这项工作? 示例:
受影响的 wkhtmltopdf 版本:wkhtmltox-0.12.5-1.msvc2015-win64 在 TR 中获取不需要的空间检查附加的快照以进行澄清。 当我们在 td 中使用 div 时出
是否可以访问主要内容正文中的“topage”变量? 我知道您可以在页眉和页脚中执行此操作,但在此特定用例中,我需要在正文中放置一个句子,说明: “本文档包含 XX 页”。 最佳答案 这对我有用。 但需
我遇到了一种情况,必须在生成的 PDF 打印计数中使用页脚和页眉。 CSS 解决方案仅适用于首页。我发现的唯一信息是 WKPDF 根本不支持它,但这可以追溯到 2009 年,所以有些东西可能已经改变了
我正在使用一个表格从 html 页面生成 pdf 报告。 我正在使用 wkhtmltopdf 来达到此目的。 生成 pdf 后,它会在 tr 标记中的任意位置中断。 我想避免它。 最佳答案 更新 17
当我在文档正文中获得特殊标记时(例如,当我获得 时,我希望下一页页脚显示“第 1 页 x”时,我尝试重置页码)其中 x 是下一个分页符之前的页数) 事实上,它应该与我分割正文文档并单独转换它完全相同
我已经通过自制软件在 Mac OS X 上安装了 wkhtmltopdf,并且我也尝试过手动编译它(以及 Qt 的补丁版本)。在这两种情况下,它生成的 PDF 都不包含任何可选择、可复制或可搜索的文本
我正在使用适用于 Mac 的 wkhtmltopdf 0.10.0 rc2 我有一个像这样的 html : .break{ disp
我正在使用 wickedpdf gem 在我的 Rails 应用程序中生成 pdf。一切都正常运行,除了少数生产请求失败,错误日志如下。 Error: Failed to execute: ["/us
当我运行可执行文件“wkhtmltopdf-amd64”(来自 Linux)时,我得到以下输出: QPainter::begin(): Returned false==================
我有一个简单的 test.html 文件: This is a test to see what happens when this kind of text gets processed by
只是在使用 wkhtmltopdf 时遇到了一些麻烦。它在命令行中工作正常,但在 PHP 中我不断收到此错误: Could not create PDF: sh: wkhtmltopdf: comma
我需要将 WKHTMLTOX 与我的 AWS EB 应用程序一起安装。 我找到了 this教程,除了支持旧版本外,它可以工作。 有没有人在 AWS EB 上安装了最新的 (0.12.3) 版本,因为这
我正在使用 Ubuntu 11.04 在 Ruby on Rails 中开发一个应用程序。在应用程序中,我需要生成 pdf 文档。所以我正在使用wicked_pdf 和 wkhtmltopdf 二进制
我将 wkhtmltopdf 0.12 与 wicked_pdf 或 pdfkit 一起使用,标题几乎占页面高度的 100%。 它会产生这些问题: 页面几乎是空的 页面比应有的多得多 最佳答案 通过添
我正在使用两个 Gems 将 HTML 转换为 PDF。 使用“https://github.com/mileszs/wicked_pdf” gem 'wicked_pdf' gem "wkhtmlt
我是一名优秀的程序员,十分优秀!