首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDF操作符

PDF操作符
EN

Stack Overflow用户
提问于 2019-08-05 10:36:50
回答 2查看 65关注 0票数 1

我使用PDF解析器从pdf文档中提取行。它在特定文档生成的pdf上失败。它失败的最小pdf有一个1单元1行表,但是流显示一个2单元1行表。我有以下问题:-

  1. 为什么流显示的是两个单元而不是一个?
  2. 由于没有矩形,这些re运算符是用来做什么的?
  3. 这些指令是谁产生的,是MS Word吗?或者PDF打印应用程序(可爱的PDF作者)?

这是pdf :-

以下是有关的资料:

代码语言:javascript
复制
stream
q 0.12 0 0 0.12 0 0 cm
/R7 gs
q
647 5996 m
700 5996 l
700 5885 l
647 5885 l
h
W n
0 0 0 rg
q
8.33333 0 0 8.33333 0 0 cm BT
/R8 11.04 Tf
0.998087 0 0 1 77.64 709.2 Tm
()Tj
ET
Q
Q
q
700 5996 m
746 5996 l
746 5885 l
700 5885 l
h
W n
0 0 0 rg
q
8.33333 0 0 8.33333 0 0 cm BT
/R8 11.04 Tf
0.998087 0 0 1 84 709.2 Tm
()Tj
ET
Q
Q
0 0 0 rg
600 5996 4 4 re
f
600 5996 4 4 re
f
604 5996 3892 4 re
f
4496 5996 4 4 re
f
4496 5996 4 4 re
f
600 5884 4 112 re
f
600 5880 4 4 re
f
600 5880 4 4 re
f
604 5880 3892 4 re
f
4496 5884 4 112 re
f
4496 5880 4 4 re
f
4496 5880 4 4 re
f
q
8.33333 0 0 8.33333 0 0 cm BT
/R8 11.04 Tf
0.998087 0 0 1 72 695.28 Tm
()Tj
ET
Q
Q

endstream 

下面是使用上面的ml指令绘制的图像:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-05 13:05:33

  1. 为什么流显示的是两个单元而不是一个?

流根本不显示任何单元格。只有标记的PDF可能对表格和表格单元格有一定的认识,但是PDF看起来没有标记。

你(考虑到你的问题标题)的意思似乎是序列

代码语言:javascript
复制
647 5996 m
700 5996 l
700 5885 l
647 5885 l
h
W n

代码语言:javascript
复制
700 5996 m
746 5996 l
746 5885 l
700 5885 l
h
W n

但是他们所做的就是将当前的剪辑路径与一个矩形相交。因此,以下绘图操作仅限于各自的矩形。在许多情况下,在PDF中都可以找到这样的限制,表格单元格只是其中之一,而这样的剪辑路径更改甚至对表格单元格来说都是不必要的。

此外,考虑到前面的变换矩阵的变化

代码语言:javascript
复制
0.12 0 0 0.12 0 0 cm

上面的矩形相当小,每个长方形可能都足够大,足以容纳一个字符。

  1. 由于没有矩形,这些re操作符是干什么用的?

它们是长方形。

非常小的高度和/或宽度,但仍然矩形。

它们是填充的矩形,参f。f算子。

长话短说,我们认为是表格单元格的区域周围的“线”实际上是充满矩形的:

代码语言:javascript
复制
604 5996 3892 4 re
600 5884 4 112 re
604 5880 3892 4 re
4496 5884 4 112 re

此外,单元格的角被画成很小的正方形(每个角落两次):

代码语言:javascript
复制
600 5996 4 4 re
600 5996 4 4 re
4496 5996 4 4 re
4496 5996 4 4 re
600 5880 4 4 re
600 5880 4 4 re
4496 5880 4 4 re
4496 5880 4 4 re

因此,这些re指令为您提供了我们认为的表单元格的边框边缘和角。

  1. 这些指令是谁产生的,是MS Word吗?或者PDF打印应用程序(可爱的PDF作者)?

你看到的具体指令是PDF指令。因此,您的打印应用程序将创建它们。

当然,您的打印应用程序会创建它们,因为它就是这样解释MS Word输出的.

票数 2
EN

Stack Overflow用户

发布于 2019-08-05 11:26:58

可爱的PDF作者显然(从他们的网页快速浏览)使用Windows打印系统。通常,在这种情况下,您从MS打印,MS Word将尝试使用Windows方法绘制线条和其他项目,然后打印机驱动程序(在本例中是可爱的PDF Writer )将其转换为PDF命令。中间阶段,首先呈现到PostScript,然后转换成PDF也是可能的。

因此,这意味着MS Word是负责的事实,两个细胞被绘制。

我只看到一个矩形的图像中的PDF,你张贴,所以我不知道在这里发生了什么。另外,我无法解释其他命令。第二张图像中的矩形看起来可能是一对一打印的页面周围的一个框架,但是坐标看起来很奇怪,所以它也可能是其他的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57356858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档