php - PDFTron:用 Scandic 字母填写表格
问题描述
我正在尝试编写一个 PHP 脚本来用数组中的数据填充表单。
这工作得很好。除了 PDFTron 对我的字符串进行编码,例如“Älli älä jätä”变成“lli lj t”。
我尝试从文本字段中禁用只读,以查看手动编写某些文本是否可行 - 确实如此。
我还测试了使用不同工具 (PDFTK) 生成 PDF - 这也生成了带有 Scandic 字母的所需 PDF。
<?php
require_once './lib/pdftron/PDFNetPHP.php';
PDFNet::Initialize();
/**
* @var PDFDoc
*/
$doc = new PDFDoc('./test.pdf');
$field = $doc->GetField('value');
$field->SetValue(utf8_encode('Älli älä jätä'));
$doc->RefreshFieldAppearances();
$doc->FlattenAnnotations();
$buffer = $doc->Save(SDFDoc::e_linearized);
header("Content-type:application/pdf");
header('Content-Length: ' . strlen($buffer));
echo $buffer;
解决方案
行。所以问题似乎不在于 PDFTron,而在于嵌入了损坏字体的 Indesign。
当我在 Adobe Acrobat 中打开 PDF 文档时,我能够编辑文本字段的属性,因此将字体“TimesNewRomanPSMT”更改为“Times New Roman”,从而解决了问题。
推荐阅读
- c# - 最终产品用户无法创建 Excel 互操作实例
- java - 将带中断的循环重写为 lambda
- angular - 无法分配给引用或变量 - ivy
- c# - -SDR 的替代正则表达式?
- c# - 如何避免频繁 HttpRequest 导致的 DbContext 线程问题?
- c++ - 我如何解释安全布尔成语的这种应用?
- ruby-on-rails - 我的用于启动 Rails 应用程序的 shell 脚本似乎没有运行代码 `cd` 预计会运行?
- python-3.x - 如何在没有按钮的情况下更新 tkinter 中的选项菜单?
- sql - 如果值是 SIMILAR 不是 EXACT,如何关联来自不同表的两列?
- javascript - 如何在没有任何类名或 ID 的情况下使用 Javascript 或 JQuery 替换 HTML 标签