【问题标题】:PDF inline Image does not workPDF 内联图像不起作用
【发布时间】:2015-10-20 18:16:14
【问题描述】:

我在 pdf 流中定义了一个图像。它可以正常工作并向我显示一个红色的 4 像素调色板:

%PDF-1.7
1 0 obj
<<
  /Type     /Catalog
  /Pages    2 0 R
  /PageMode /UseNone
>>
endobj
2 0 obj
<<
  /Type  /Pages
  /Count 1
  /Kids  [3 0 R]
>>
endobj
3 0 obj
<<
  /Type      /Page
  /Parent    2 0 R
  /MediaBox  [0 0 50 20]
  /Contents  4 0 R
  /Resources
  <<
    /XObject << /Im1 5 0 R >>
  >>
>>
endobj
4 0 obj
<<
  /Length 38
>>
stream
  40 0 0 10 5 5 cm
  /Im1          Do
endstream
endobj
5 0 obj
<<
  /Type             /XObject
  /Subtype          /Image
  /Width            4
  /Height           1
  /ColorSpace       /DeviceRGB
  /BitsPerComponent 2
  /Filter           /ASCIIHexDecode
  /Length 10
>>
stream
 01 08 30
endstream
endobj
xref
0 6
0000000000 65535 f 
0000000009 00000 n 
0000000090 00000 n 
0000000155 00000 n 
0000000311 00000 n 
0000000400 00000 n 
trailer
<<
  /Size 6
  /Root 1 0 R
>>
startxref
720
%%EOF

但是当我尝试显示与内联图像相同的图像时,只有一个空白页:

...
...same as above...
...
3 0 obj
<<
  /Type      /Page
  /Parent    2 0 R
  /MediaBox  [0 0 50 20]
  /Contents  4 0 R
>>
endobj
4 0 obj
<<
  /Length 92
>>
stream
 40 0 0 10 5 5 cm
 BI
  /W   4
  /H   1
  /CS  /RGB
  /BPC 2
  /F   /AHx
 ID
  01 08 30
 EI
endstream
endobj
...

当我对图像属性不使用缩写时,已经有一个空白页。

有人知道可能是什么问题吗?

感谢您的任何提示和帮助!

【问题讨论】:

    标签: image pdf inline


    【解决方案1】:

    好的,最近两天我一遍又一遍地阅读规范。但这是值得的。

    有两个错误。只有他们两个的更正给了我想要的结果......

    首先,我没有结束 ID 和 ED 之间的 ASCIIHexDecodeFilter 部分。规范说:“右尖括号字符 (>) 表示 EOD。”如果有一个使用 ASCIIHexDecodeFilter 过滤的完整流,Adobe Reader 通过读取 /Length 属性知道流的结束。但作为流本身的一部分,它需要 > 字符。

    第二件事是我的页面对象(3 0 obj)需要 /Resources 属性。它可能是空的 (/Resources >) 但它可能不会丢失。

    感谢所有尝试回答或帮助的人!

    这里是正确的工作内联图像 PDF 文件流:

    %PDF-1.7
    1 0 obj
    <<
      /Type     /Catalog
      /Pages    2 0 R
      /PageMode /UseNone
    >>
    endobj
    2 0 obj
    <<
      /Type  /Pages
      /Count 1
      /Kids  [3 0 R]
    >>
    endobj
    3 0 obj
    <<
      /Type      /Page
      /Parent    2 0 R
      /MediaBox  [0 0 50 20]
      /Contents  4 0 R
      /Resources << >>
    >>
    endobj
    4 0 obj
    <<
      /Length 90
    >>
    stream
    q
     40 0 0 10 5 5 cm
     BI
      /W 4
      /H 1
      /CS/RGB
      /BPC 2
      /F /AHx
     ID
      01 08 30 >
     EI
    Q
    endstream
    endobj
    xref
    0 5
    0000000000 65535 f 
    0000000009 00000 n 
    0000000090 00000 n 
    0000000155 00000 n 
    0000000277 00000 n 
    trailer
    <<
      /Size 5
      /Root 1 0 R
    >>
    startxref
    418
    %%EOF
    

    【讨论】:

    • 这个流也可用作带有内嵌图像的 PDF 示例(我处理的农药标签 PDF 似乎只使用 XObject 图像)。谢谢。
    猜你喜欢
    • 2014-10-02
    • 1970-01-01
    • 2016-02-14
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多