2012-02-17 67 views
0

我有相同的代码如何从PDF计算字体大小在PHP

q 
0 0 283.465 170.079 re 
W n 
BT 
1 0 0 0 k 
/GS0 gs 
/C2_0 1 Tf 
10 0 0 10 143.4331 134.0855 Tm 
<01F60218020B020802150210020F0208021E02100227>Tj 
ET 
Q 

如何计算fontSize的供/ C2_0 1 TF?

我需要示例,如果posible。 如果问题有误,我的英语不好,然后抱歉。

+0

Postscript语言参考:http://partners.adobe.com/public/developer/en /ps/PLRM.pdf – 2012-02-17 14:14:06

回答

0

1.

/C2_0 1 TF

该命令集的字体为1角

2.

10 0 0 10 143.4331 134.0855的Tm

这个命令缩放通过10倍在x方向上在y方向上的当前变换矩阵,10和平移/移动到原点x = 141,4331,y = 132.0855。所以基本上你的字体缩放到10 pt(141,4331,132.0855)。

下面是http://www.mactech.com/articles/mactech/Vol.15/15.09/PDFIntro/index.html附近页面底部的示例。

3 0 obj 
<< 
/Length 168 
>> 
stream 
BT 
/F4 1 Tf 
12 0 0 12 50.64 731.52 Tm 
0 0 0 rg 
BX /GS2 gs EX 
0 Tc 
0 Tw 
[(This is 12-point)10(T)41(imes.) 
    18(This sentence will appear near 
    the top of page one.)]TJ 
ET 
endstream 
endobj 

“的流对象(它是168个字节长)由BT和ET运营方括号内的,用于开始文本和结束文本。tf命令选择我们的字体及在用户空间单元的尺寸,这是给定为1“但是我们不是使用12点类型吗?”你可能会想知道,是的,我们是这样,它在下一行指定,以Tm​​结尾(这是set-text-matrix运算符)。空间的原因,我们在这里不会多说关于坐标系变换和矩阵的内容,但是如果你熟悉PostScript中矩阵的使用,那么相同的规则也适用于PDF。一个变换矩阵由六个数字组成,第一个和第四个分别决定x和y的缩放比例我们在文本矩阵中看到比例因子是12这意味着我们将使用12点类型最后两个数字在矩阵(50.64和731.52)中以用户空间单位指定翻译。翻译的效果是将页面上的文字大约10.1英寸,左边距0.7英寸。“

+0

是的,我正在考虑这个选项。但我很困惑的是,我们在用户空间中执行的所有计算。该文件表示,他仍然必须使用矩阵转换设备空间中的所有计算值。即使所有原始附记示例的文档都是如此。我们只描述从用户空间到设备空间的坐标转换公式 – org 2012-02-20 08:16:24

+0

我认为这是真的吗? :我们不需要将用户空间的字体大小转换为设备空间。因为我们使用值(磅)的字体大小。 总计:公式是: 缩放矩阵[Sx 0 0 Sy 0 0] = [1 0 0 1 0 0] * Tm [abcdef] realFontSize = fontSizeScaledFactor * Scaledy – org 2012-02-20 08:21:09

+0

但是我能做些什么来计算字体设备空间大小? – org 2012-02-20 08:23:32

0

是你的意思吗?

font -/F1 12 Tf:应用Tf操作符,它设置字体名称和字体大小。的字体是F1作为资源定义,与大小12.

Introduction to PDF

+0

这是我的pdf文档中的实例:/ C2_0 1 Tf。FontSize = 1 ?? – org 2012-02-17 14:21:07

+0

是的,这个数字是为FontSize设置的,尝试增加它,字体会变大 – yen1k 2012-02-17 14:27:28

+0

不正确! (fontSize> 10 pt – org 2012-02-17 14:30:37