用java读取一个pdf文件,我能否定位到“313 0 obj”,只读取“313 0 obj”后面的东西。例如pdf文件:
312 0 obj
<</Ascent 1011/CapHeight 651/CharSet(/endash.cap/space/A/B/C/D/E/G/H/I/L/M/N/O/R/S/T/U/W/Y)/Descent -360/Flags 34/FontBBox[-308 -360 1684 1011]/FontFamily(Minion Pro SmBd)/FontFile3 311 0 R/FontName/ENKOKG+MinionPro-Semibold/FontStretch/Normal/FontWeight 600/ItalicAngle 0/StemV 112/Type/FontDescriptor/XHeight 440>>
endobj
313 0 obj
<</Filter/FlateDecode/Length 324>>stream
...

解决方案 »

  1.   

    直接定位比较难,如果知道312之前的字节总数可以使用skip(long n)跳过n个字节
      

  2.   

    用RandomAccess,二进制字节定位
      

  3.   

    你只能在读取到的内容中判断是否包含你的“313 0 obj” 并设置是否要保存的标示来实现吧
      

  4.   

    无法确定 "313 0 obj"的位置。
    %PDF-1.4
    %âãÏÓ
    3 0 obj
    <</Length 88/Filter/FlateDecode>>stream
    xœ+är
    á26S°00SIá2PÐ5´