是否可以仅使用PHP将FDF数据与PDF文件合并?或者没有选择,只能使用第三方命令行工具来实现这一目标?
如果是这样的话有人能指出我的方向吗?
我目前正在将FDF文件输出到浏览器,希望它将用户重定向到填写的PDF,但对于某些人来说并非如此.FDF内容正在输出到屏幕,即使我使用标题('Content-type:application/vnd.fdf');
我正在使用FDF来填充PDF模板.在我的PDF模板上,我有一个复选框和无线电字段,分别称为c1和r1.我应该在FDF文件中使用什么语法来检查或选择c1和r1字段?
我尝试过类似的东西
<</T(c1)/V(1)>>
<</T(c1)/V(checked)>>
<</T(c1)/V(on)>>
<</T(c1)/V(true)>>
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用.
我正在基于模板进行批量生成的pdf文件,并且我很快遇到了大的性能问题.我目前的情况如下:
.fdf
文件写入磁盘.pdf
生成所有行我passthru
用来给客户端提供原始输出(节省写入文件的时间),但这只是一点性能改进.对于200条记录,总操作时间约为50秒,我想以某种方式降低至少10秒.
理想的情况是在内存中运行所有这些pdf,而不是将它们中的每一个写入单独的文件,但是输出将无法完成,因为我无法将这种数据传递给外部工具,如pdftk.另一个想法是生成一个.fdf
包含所有这些行的大文件,但看起来不允许这样做.
我在这里错过了一些非常微不足道的东西吗?
我很感谢任何建议.
PS.我知道我可以使用像pdflib这样的好库,但我现在只考虑开放的许可库.
编辑:
我正在弄清楚.fdf
使用相同的pdf作为模板构建具有多个页面的文件的语法,花了几个小时并且找不到任何好的文档.
我正在寻找一种在 R 中自动填写 PDF 表单的方法。我找不到为此而编写的包。有选择吗?
我能想到的替代解决方案:
所有这些事情在 Python 中似乎都是可行的。然而,我的组织强烈倾向于 R,并且过去一直依赖软件开发人员编写 C# 来填写表格。我希望使用 R 来跳过这一步。
谢谢!
有没有办法合并FDF文件和PDF文件来创建所有数据的平面格式并形成1 pdf而不使用PDFTK?
任何关于此的灯都将非常感激.
我们公司允许其客户通过我们的网站查看报告.页面是基于PHP的,数据是从MySQL收集的.这些报告是很久以前写的,包括内联css.页面本身看起来很好,但缺少印刷版本.我想拍摄报告并创建包含我们品牌的视觉上吸引人的"可打印"页面.
到目前为止我找到了三个解决方案.
@Media打印样式表
这是最简单的方法,但不能给我完整的布局控制.我想要横向模式,需要控制分页发生的位置,所以这个方法已从我的可能解决方案列表中删除.这些报告是通过循环遍历PHP数据构建的,所以虽然我总是可以在一个或者例如之后放置一个分页符,但是在它到达下一组数据之前我无法阻止页面中断.
TCPDF/FPDF
从我所看到的这些课程将给我所有客户所需的控制PDF.挑战在于,这似乎比我的编程技能要求更高级,并且HTML表中包含的所有内联CSS可能会抛弃格式化.
FDF
如果我理解正确,我倾向于这种方法.首先,我将创建一个PDF表单并定义要由MySQL数据填充的所有字段.然后我将创建一个FDF文件,该文件将使用数据库中的数据填充表单模板.我似乎更容易通过PDF创建一个视觉上令人愉悦的表单,然后使用此方法填充该表单,而不是使用方法2从头开始创建整个pdf.
听起来我是在正确的轨道上吗?这些方法中的任何一种都比其他方法"更容易"吗?
任何帮助是极大的赞赏.
我正在尝试使用 PDFTk 填充 pdf 文档。脚本工作正常,它填写表单中的输入,但我没有得到特殊字符 [波兰字符集:UTF-8 或 ISO-8859-2]。
脚本:https : //github.com/mikehaertl/php-pdftk
奇怪的是,当我点击字段时,生成的 pdf 实际上有波兰语字符。
点击前:
点击字段后:
默认编码设置为 UTF-8。问题是 PDFTk 不能在标准 ASCII 之外使用带有 FDF 表单填充的字符。它不允许多字节字符。
我做了什么:
更新 (25.03.2016):发现 pdf 文档在某些计算机上运行良好。有些人有波兰语字符,而其他人则没有。我们所有人都有正确的字体(带有波兰语字符集)。我使用默认的 Arial 或 Times New Roman。字体也嵌入到该文件中。
有任何想法吗?
我知道存在一些类似的问题(在PDF文档中找到inputtable表单字段的字段名称吗?),但我的问题有所不同:
我有所有字段名称(在fdf文件中)。
我希望我可以直接在PDF上直观地识别。
使用acrobat,我应该能够右键单击一个字段,然后选择“显示该字段的名称”,但是我找不到这样的东西。
有人能帮我吗 ?
fpdf.org上有一个脚本部分,其中有一个动态填充PDF的示例.这是脚本.
<?php
/***************************
Sample using a PHP array
****************************/
require('fpdm.php');
$fields = array(
'name' => 'My name',
'address' => 'My address',
'city' => 'My city',
'phone' => 'My phone number'
);
$pdf = new FPDM('template.pdf');
$pdf->Load($fields, false); // second parameter: false if field values are in ISO-8859-1, true if UTF-8
$pdf->Merge();
$pdf->Output();
?>
Run Code Online (Sandbox Code Playgroud)
首先 - 他们引用fpdm.php - 我认为这是一个错误,并将其更改为fpdf.php,以及类引用 - 因此这不是我的错误的来源.当我改变所有这些并设置测试时 - 我得到一个错误,说"方向是错误的".
每个其他fpdf示例都让您在函数中输入参数来设置方向(P或L)以及尺寸(A4)等.这个没有.有没有人搞乱这个例子并让它工作?我们在医生网站上使用HTML表单获取信息,然后将其与实际表单合并,并将它们输出为图表的PDF - 所以这样的脚本我可以在一个数组中加载整个记录并弹出它们在PDF上的字段将是太棒了......如果它工作:)