php - 如何在 PHPWord 中使边框不“细”以防止 Adobe Reader 中“增强细线”设置的行为
问题描述
首先,您必须了解流程:
PHPWord -> document.docx -> Microsoft Word -> document.pdf -> Adobe Reader
我使用 PHPWord 在 .docx 文档中创建了一些表格:
private const CS_BORDER =
[
'borderSize' => 7,
'borderColor' => '000000',
];
$table = $section->addTable();
$row = $table->addRow();
$cell = $row->addCell(Font::centimeterSizeToTwips(5.3), self::CS_BORDER);
$cell->addText('Text', self::FS_CALIBRI_10_BOLD, self::PS_CENTER_ALIGN_NO_SPACE);
$cell = $row->addCell(Font::centimeterSizeToTwips(2.2), self::CS_BORDER);
$cell->addText('Text', self::FS_CALIBRI_10_BOLD, self::PS_CENTER_ALIGN_NO_SPACE);
$cell = $row->addCell(Font::centimeterSizeToTwips(2.4), self::CS_BORDER);
$cell->addText('Text', self::FS_CALIBRI_10_BOLD, self::PS_CENTER_ALIGN_NO_SPACE);
然后我使用 Microsoft Word 手动将 .docx 导出为 .pdf 并使用 Adobe Reader 打开它。
像很多人一样,由于 Adobe Reader 中的“增强细线”设置,我遇到了渲染问题。
关键是:即使我使用以下代码,也优化了行:
private const CS_BORDER =
[
'borderSize' => 50,
'borderColor' => '000000',
];
我的问题是:在 PHPWord 中是否有什么可以让 Adobe Reader 不将边框视为细线?
解决方案
根据我的经验,防止 Acrobat 或 Reader 过度加粗矩形的方法是在形状的所有直线上插入额外的锚点。我在 Adobe Illustrator 中执行此操作,然后导出到 EMF 以在 Word 中使用。您将不得不调查 phpword 是否可以在该详细级别上编辑向量。
推荐阅读
- attributes - How to have conditional product attributes in Odoo 13
- ember.js - Ember 路由器在重定向到“/”时中断
- php - 如何在 PHP 中重组 `if` 和 `else` 语句
- docker - Azure DevOps builds for Docker with npm installing from private feed have stopped working
- python - 数据透视表中计算列的聚合显示不正确
- linux - 仅将部分输出存储到 shell 变量中
- mysql - 计划命令如何使用 DB 查询正确获取数据库信息
- javascript - Selenium Webdriver:如何使用 selenium webdriver 从 Gmail 中删除打开的电子邮件
- c# - IServiceCollection 后配置
- powershell - Powershell - 结合 switch 语句和循环