如何在PDF中设置水平或垂直对齐文本?

问题描述:

我生成一个PDF,我输出一些文字,如:如何在PDF中设置水平或垂直对齐文本?

BT 
    /F1 7 Tf 
    586 406 Td 
    (Date Shipped:) Tj 
ET 

快速底漆上PDF programming language

  • BT开始文本块
  • /F1 7 Tf选择字体#1(在我的情况下是Helvetica),并使用字号7
  • 586 406 Td移动当前位置开始到(x = 586 PT,Y = 406 PT)
  • (Date Shipped:) Tj呈现文本Date Shipped:
  • ET端文本块

即文本现在总是呈现在位置(586,406),其中文本块的底部左边在该l ocation:

enter image description here

是点定义顶部中心点:

enter image description here

,因为我不知道该呈现的文本的大小 ;我不能简单地上/下/左/右尝试弥补它的东西。

如何在PDF中指示一些文字的“对齐”

+2

你不能。 PDF制作软件需要知道字体指标才能生成格式化的输出。如您所知,您选择了7号大小的Helvetica,并且您还知道当前字符和字间距值,您可以轻松计算呈现文本的大小。您可能需要阅读PDF规范(可在此处获得)(http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf)),特别是关于文本渲染的章节。 – mkl 2013-05-08 23:46:06

+0

标准14种字体的字体指标可在此处找到(http://www.adobe.com/devnet/acrobat/wwdistiller.html)。 – mkl 2013-05-09 00:15:16

+0

@mkl Put *“你不能”*以答案的形式:你自己接受了。 – 2013-05-10 14:38:22

你不能。 PDF制作软件需要知道字体指标才能生成格式化的输出。

如您所知,您选择了7号大小的Helvetica,并且您还知道当前字符和字间距值,因此您可以轻松计算呈现文本的大小。

标准14种字体的字体指标可用here

您可能需要阅读PDF规范(提供here),特别是关于文本渲染的章节。

+0

当字体不在该列表中时(例如Arial),我不知道字体指标。接受为*不可能*。 – 2013-05-10 15:43:59

+0

其他字体的度量标准要求您解析三个字体文件。 – mkl 2013-05-10 15:48:32

+0

在有关链接的pdf规范中,我发现了一些关于布局属性的内容(在“TextAlign”上搜索),但根据我的理解,它只是一种类似于注释的内容,不会改变文本在页面上的呈现方式,编辑/转换软件。 如果我错了,请纠正我。 – Jakub 2013-06-21 05:46:45