我刚刚开始使用Apache PDFBox,我完全不知道在应用于文本和线条时,抚摸,非抚摸和填充是什么意思。
请有人指点我参考/指南,解释这些术语的含义(适合初学者)以及它们之间的区别。
答案 0 :(得分:9)
非常简单。考虑一个位于0,0和50单位宽和高的矩形。这被描述为顶点为0,0 0,50 50,50和50,0
的路径现在,如果您使用黑色描边路径(想象使用笔在路径上绘图)。你得到的是一个黑色的正方形,正方形的内部是你在绘制边界之前在纸上的任何东西(可能没什么,所以是白色)。
如果填充路径,则会得到一个填充的正方形,但没有绘制边框。
如果你填充和描边路径,你会得到一个带边框的正方形。由于填充和描边颜色可能不同,因此可以将方形填充为一种颜色,将边框填充为另一种颜色。
参见PDF参考,第4.4节和第34节;路径构建和绘画"
我已从官方PDF-1.7规范中复制了下表:
此表显示了不同的文本呈现模式。在这里,您也可以描边或填充或同时对字形进行处理。您甚至可以既不进行描边也不进行填充,但仍然可以定义形状:即,您可以获得不可见文本 - 这是一种非常有用的模式,用于将OCR文本放置在扫描图像之上!它使文本可以搜索,复制,并且可以粘贴和屏幕阅读器。
答案 1 :(得分:2)
我目前正在撰写一本书The ABC of PDF with iText,向您介绍所有这些原则。
你在谈论"图形状态"和用于在页面上定义对象的语法。此语法存储在内容流中。
忽略"文字状态" (目前,#34; Graphics State"的一个子集),我们的想法是创建路径和形状(形状是封闭的路径)。可以使用笔划和填充运算符绘制这些路径和形状。如果你填写一条路径,你需要定义你是否使用非零缠绕规则或偶数规则(如果你已经在大学阶段研究过几何学,你已经遇到过这些规则)。
笔划和填充运算符将使用当前图形状态的颜色。将使用描边颜色绘制线条。将使用非抚摸颜色填充形状。
您可以从Leanpub下载免费电子书中的更多信息。