如何压缩和缩小纯文本手工制作的 PDF 文件的大小?

如何压缩和缩小纯文本手工制作的 PDF 文件的大小?

我创建了一个 PDF 文件(837 字节)作为应用程序负载测试的模板:

%PDF-1.1
%µ¶

1 0 obj
<</Type/Catalog/Pages 2 0 R>>
endobj

2 0 obj
<</Type/Pages/Kids[3 0 R]/Count 1/MediaBox[0 0 595 841]>>
endobj

3 0 obj
<</Type/Page/Parent 2 0 R/Resources<</Font<</F1<</Type/Font/Subtype/Type1/BaseFont/Times-Roman>>>>>>/Contents 4 0 R>>
endobj

4 0 obj
<</Length 356>>
stream
BT
/F1 18 Tf
10 803 Td
(${title}) Tj
ET

BT
/F1 14 Tf
10 773 Td
(Type: ${type}) Tj
ET

BT
/F1 14 Tf
10 753 Td
(Date: ${date}) Tj
ET

BT
/F1 14 Tf
10 733 Td
(Name: ${name}) Tj
ET

BT
/F1 40 Tf
10 440.5 Td
(This is a dummy statement) Tj
0 -50 Td
(for testing purposes generated) Tj
0 -50 Td
(for load testing.) Tj
ET

BT
/F1 14 Tf
10 14 Td
(Page 1/1) Tj
ET


endstream
endobj

xref
0 5
0000000000 65536 f 
0000000016 00000 n 
0000000062 00000 n 
0000000136 00000 n 
0000000270 00000 n 

trailer
<</Size 5/Root 1 0 R>>
startxref
676
%%EOF

我替换${title}${type}等占位符来生成用于测试目的的虚拟 PDF 文件。

有没有办法进一步压缩和缩小生成的 PDF 文件的大小(PDF 版本不必是 1.1——它可以是 PDF 标准的最新版本)。

有没有办法将以下对象合并为一个,从而消除多个 BT/ET 字和字体声明(/F1 14 Tf):

BT
/F1 18 Tf
10 803 Td
(${title}) Tj
ET

BT
/F1 14 Tf
10 773 Td
(Type: ${type}) Tj
ET

BT
/F1 14 Tf
10 753 Td
(Statement Date: ${date}) Tj
ET

BT
/F1 14 Tf
10 733 Td
(Name: ${name}) Tj
ET

BT
/F1 40 Tf
10 440.5 Td
(This is a dummy statement) Tj
0 -50 Td
(for testing purposes generated) Tj
0 -50 Td
(for load testing.) Tj
ET

BT
/F1 14 Tf
10 14 Td
(Page 1/1) Tj
ET

理想情况下,我希望将其大小缩小到 420 字节或更小。

相关内容