使用文本编辑器创建阿拉伯语PDF

时间:2016-01-19 12:10:37

标签: pdf unicode pdf-generation arabic

我试图编写Java代码来手动创建PDF文件,我不需要API,PDF结构很简单,我自己就可以创建它,但直到我面对复杂性引入阿拉伯语Unicode字符。

我使用文本编辑器篡改了我从Make your own PDF file – Hello World获取的示例PDF文件。

现在我想使用Adobe提供的相同Helvetica字体,我想(仅使用文本编辑器)用阿拉伯字母写一个简单的Hello World PDF文件,我可以将其用作构建的样本。

以下是我正在研究的样本:

%PDF-1.4
1 0 obj <<
   /Type /Catalog
   /Pages 1000000 0 R
   /Outlines 900000 0 R
   /PageMode /UseOutlines
>>
endobj

2 0 obj <<
   /Type /Font
   /Subtype /Type1
   /BaseFont /Helvetica
>>
endobj

3 0 obj <<
   /Type /Font
   /Subtype /Type1
   /BaseFont /Helvetica-Bold
>>
endobj

4 0 obj <<
   /Font <<
      /F1 2 0 R
      /F2 3 0 R
   >>
>>
endobj

5 0 obj <<
   /Title (Cover)
   /Dest [6 0 R /XYZ null 841.890 null]
   /Parent 900000 0 R
   /Next 10 0 R
>>
endobj

6 0 obj <<
   /Type /Page
   /Parent 1000000 0 R
   /Resources 4 0 R
   /Contents 7 0 R
>>
endobj

7 0 obj <<
   /Length 44
>>
stream
BT /F2 24 Tf 175 720 Td (Cover)Tj ET
BT /F1 24 Tf 175 696 Td (Hello World!)Tj ET
BT /F1 24 Tf 175 672 Td (Hello World!)Tj ET
endstream
endobj

10 0 obj <<
   /Title (Content)
   /Dest [11 0 R /XYZ null 841.890 null]
   /Parent 900000 0 R
   /Prev 5 0 R
   /Next 15 0 R
>>
endobj

11 0 obj <<
   /Type /Page
   /Parent 1000000 0 R
   /Resources 4 0 R
   /Contents 12 0 R
>>
endobj

12 0 obj <<
   /Length 44
>>
stream
BT /F2 24 Tf 175 720 Td (Content)Tj ET
BT /F1 24 Tf 175 696 Td (Hello World!)Tj ET
BT /F1 24 Tf 175 672 Td (Hello World!)Tj ET
endstream
endobj

900000 0 obj <<
   /First 5 0 R
   /Last 10 0 R
   /Count 2
>>
endobj

1000000 0 obj <<
   /Type
   /Pages
   /MediaBox [0 0 595.276 841.890]
   /Count 2
   /Kids [
      6 0 R
      11 0 R
   ]
>>
endobj

xref
0 7
0000000000 65535 f
0000000009 00000 n
0000000056 00000 n
0000000094 00000 n
0000000161 00000 n
0000000216 00000 n
0000000317 00000 n
trailer <<
   /Size 7
   /Root 1 0 R
>>
startxref
100
%%EOF

1 个答案:

答案 0 :(得分:0)

感谢Chris Haas&amp;成功,没有简单的方法可以做到这一点。 Dan Korn提供了有用的评论。