我想使用 pyPDF 以编程方式编辑 PDF。目前,我正在努力解释各种 PDF 框(TrimBox、MediaBox 等)的尺寸。每个盒子有四个维度存储为四元组,例如:
TrimBox: 56.69 56.69 1040.31 751.18
Run Code Online (Sandbox Code Playgroud)
根据 PDF 规范,这些应该描述一个矩形,并且当然 (56.69, 56.69) 确定了该矩形的左上角。然而,(1040.31, 751.18) 是被解释为这个矩形的右下角,还是相对于左上角的向量?
显然,这个答案在排字工中是如此众所周知,以至于到目前为止我在任何地方都找不到明确的拼写。
我通过使用此示例(FirstPDF)删除"new Date()"句子生成了两个PDF .
它们看起来相同,但在计算它们的md5哈希时,它们实际上是不同的.
我已经检查了他们并且他们注册了一个creationDate,即使该句子document.addCreationDate()没有包含在源代码中.
问题很简单:是否有可能以任何方式使用任何API生成两个完全相等的字节到字节的PDF?
我一直在写这篇文章来生成pdf,但输出是空白的,并且没有显示错误,我已经输入了:
public function generate_pdf()
{
$this->load->library('mpdf');
$mpdf=new mPDF('utf-8','A4');
$mpdf->WriteHTML('<p>HTML content goes here...</p>');
$mpdf->Output();
}
Run Code Online (Sandbox Code Playgroud)
当我把:
public function generate_pdf()
{
$this->load->library('mpdf');
$mpdf=new mPDF('utf-8','A4');
$mpdf->debug = true;
$mpdf->WriteHTML('<p>HTML content goes here...</p>');
$mpdf->Output();
}
Run Code Online (Sandbox Code Playgroud)
参考这个答案,我收到此错误:
Output has already been sent from the script - PDF file generation aborted.
Run Code Online (Sandbox Code Playgroud) 我在我的localhost(windows)上有一个完美的FPFD设置,它可以生成pdf文件.但是,当我上传到生产环境(Linux)时,它会抛出这个愚蠢的错误.
我过去2小时一直试图解决问题.错误没有给出关于流突然结束的地方的任何指示.已发布在他们的论坛上,但那个地方看起来很糟糕.
请问谁曾经使用或遇到过此错误?
任何帮助将不胜感激.
我有一个 PHP 脚本,它使用以下命令在我的 CentOS 机器上使用 Ghostscript:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName
Run Code Online (Sandbox Code Playgroud)
我知道安装了 ghostscript,但希望我的 PHP 脚本能够检测它是否安装,如果没有显示错误,提示未安装所需的 Ghostscript。
任何想法我怎么能做到这一点?
谢谢。
我有一个应用程序,它打开一个尺寸为 1700 像素 * 2200 像素的 pdf 文件。我将从它的 pdf 上获得一个矩形的尺寸。当我尝试在 pdf 上创建相同的矩形时,我正在使用 PdfBox 创建一个具有尺寸的 pdf 页面。
System.out.println(page.getMediaBox().getHeight());
System.out.println(page.getMediaBox().getWidth());
Run Code Online (Sandbox Code Playgroud)
结果是 :
612
792
Run Code Online (Sandbox Code Playgroud)
如何将 pdf 坐标从 1700*2200 转换为 612*792?
我正在使用 Pechkin 将带有 css 的 html 内容转换为 pdf 文件。
我面临的问题是 html 块的一部分被切断,因为它不再适合当前页面。
现在我想要的是,当内容不适合当前页面时,它会在下一页上创建它。
佩希金可能做到这一点吗?
代码:
var pechkin = new SynchronizedPechkin(new GlobalConfig());
return pechkin.Convert(new ObjectConfig()
.SetLoadImages(true).SetZoomFactor(1.5)
.SetPrintBackground(true)
.SetScreenMediaType(true)
.SetPrintBackground(true)
.SetCreateExternalLinks(true), html);
Run Code Online (Sandbox Code Playgroud)

我有个问题。如何将新页面从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)
有没有人有这种经验,可以为您提供帮助?
我有一个使用 .net core 3.1 Razor Pages 构建的 Web 应用程序。我需要添加功能以从视图生成 PDF。通常该库正在工作,因为我可以生成静态 PDF,但是当我想使用模型为模板做种时会出现问题。
该PageModel如下所示:
public class DetailsPdfModel : PageModel
{
private readonly ICablesData cablesData;
private readonly IConfiguration configuration;
public DetailsPdfModel(ICablesData cablesData, IConfiguration configuration)
{
this.cablesData = cablesData;
this.configuration = configuration;
}
public Cable Cable { get; set; }
public IActionResult OnGet(int cableId)
{
Cable = cablesData.GetById(cableId);
if (Cable == null)
{
return RedirectToPage("NotFound");
}
else
{
return new ViewAsPdf("DetailsPdf", this);
}
}
}
Run Code Online (Sandbox Code Playgroud)
视图如下所示:
@page
@model DetailsPdfModel
@{
Layout = …Run Code Online (Sandbox Code Playgroud) 使用 iTextSharp,您可以通过将事件附加到 PDF 来向 PDF 添加页眉/页脚,如此 SO 答案中所述:https : //stackoverflow.com/a/19004392
我怎样才能用 iText 7 做同样的事情?
此链接有 Java 代码示例,但似乎不像使用页面事件。
pdf-generation ×10
pdf ×3
c# ×2
java ×2
mpdf ×2
php ×2
.net ×1
asp.net-core ×1
codeigniter ×1
fpdf ×1
ghostscript ×1
itext ×1
itext7 ×1
pdfbox ×1
pechkin ×1
pypdf ×1
razor-pages ×1
tuespechkin ×1
wkhtmltopdf ×1
yii2 ×1