如何编写具有更好的文本复制粘贴功能的 PDF?

问题描述 投票:0回答:0

我正在编写一些代码来生成 PDF,但我对文本定位和文本显示运算符导致 Acrobat 将换行符插入从生成的文档复制的任何文本这一事实感到沮丧。

我已经尝试了文本显示操作符的不同组合:

Td
Td
与手动设置
TL
(测试领先),使用
Tm
直接更改文本矩阵,
TJ
用于更详细的文本定位,甚至在第一行的末尾添加空格,以防 Acrobat 重新考虑。但它们都产生相同的行为,文本在 acrobat 中被复制到剪贴板,如
"Hello world\nTesting"
.

BT
/F0 24 Tf
24 TL % Directly set text leading
200 500 Td
(Hello world) Tj
(Testing) '
ET

BT
1 0 0 1 200 300 Tm
(Hello world) Tj
1 0 0 1 200 276 Tm % Manually reset text matrix
(Testing) Tj
ET

BT
1 0 0 1 200 200 Tm
[ (Hello world) ] TJ % Use more specific text positioning operator
1 0 0 1 200 176 Tm
[ (Testing) ] TJ
ET

我试过用

/Span
来创建标记的内容序列,但这也没有达到预期的效果。

% Attempt at using a marked content sequence
/Span <</MCID 0>> BDC
BT
1 0 0 1 200 200 Tm
[ (Hello world) ] TJ
1 0 0 1 200 176 Tm
[ (Testing) ] TJ
ET
EMC

似乎标记内容序列可能是去这里的方式,但我不确定该系统使用哪个版本。为了让 Acrobat 理解文本矩阵中的更改并不一定表示存在换行符,我需要一路转到标记的 PDF,这似乎是不合理的。替代文本功能有什么技巧吗?

所以,问题是:我是否错过了一个简单的技巧,或者这是否需要类似于完整标记 PDF 的内容才能描绘段落?

pdf pdf-generation
© www.soinside.com 2019 - 2024. All rights reserved.