php - PDFlib 使用透明色
问题描述
我有一张桌子,我想给它一个透明的背景颜色。我知道我们有“fillcolor”选项,但我们只能使用 rgb(意味着不使用 rgba)和颜色代码,如下所示:fillcolor={rgba 0.9 0.5 0}
或fillcolor={#ffed00}
.
那么如何让背景更透明呢?
解决方案
如果您使用“ opacityfill ”创建GState,然后在放置表格时将其输出,则可以在 PDFlib 中实现此功能。在一个简单的代码示例中,如下所示:
$gstate= $p->create_gstate("opacityfill=.5");
$tbl = $p->add_table_cell($tbl, 1, 1,
"Text",
"fittextline={fontname=NotoSerif-Regular encoding=unicode " +
"fontsize=12} colwidth=100 rowheight=30");
$result = $p->fit_table($tbl, 50, 50, 500, 800, "fill={ {area=table fillcolor={red} } } gstate=" . $gstate);
如果您随后将表格放在彩色背景(例如图像)上,则此代码片段会导致以下输出,例如:
有关 create_gstate() 的完整详细信息,另请参阅 PDFlib API 参考中的第 7.2 章“图形状态”。也许也很有趣,如果你只想对一个单元格产生效果,你也可以使用 Matchbox 定义一个单元格的装饰,你可以用它指定一个 GState。(有关详细信息,请参阅 PDFlib 9.3.1 教程,第 9.4 章“Matchboxes”)
推荐阅读
- python - 如何在 Python / Flask 环境中编写其中一个键以 # 字符作为名称的 Mongo 查询?
- python - 如何在 Tkinter 中使用 cpu 数据创建实时图表?
- javascript - Discord.js - 为什么 __.cache.get() 代码不起作用并且命令提示符中出现错误警报“fn 不是函数”?
- lua - 有没有办法使用 IDA 从名为 ROBLOX 的游戏中获取 Lua 类型?
- powershell - PowerShell 递归对象属性
- javascript - 什么会导致 XMLHttpRequest 在浏览器默认超时之前挂起而没有错误?
- javascript - 点击时显示每个锚点对应的 div
- python - 计算熊猫滚动偏移窗口的实际持续时间
- c# - 使用 System.Runtime.Caching
- flutter - 在flutter App中应用主题数据不会改变Appbar颜色,工具栏颜色,文本,字体和按钮