Skip to content

Releases: sensiblecodeio/pdf2msgpack

v0.3.0: Wire protocol update, OSX support

07 Jul 13:29
Compare
Choose a tag to compare
  • Add --meta-only command line option
  • Add --bitmap option
  • Add --font-info option
  • Add support for OSX and homebrew formula
  • Include path style information (stroke width/color, fill color)

The wire protocol has changed to allow it to be more extensible.

The page is now a dictionary, allowing it to be extended with further detail
in the future, and conditionally contain objects.

If --bitmap is specified, page contains a "Bitmap" key.

New wire protocol:

document (consecutive objects): <wire version : int> <metadata> <page>...

metadata (dict): {
  "Pages": int,
  "FileName": str,
  "FontInfo": [<fontinfo : dict>...],
  (other string fields supplied in PDF),
}

page (dict): {
  "Size": [<width : int>, <height : int>],
  "Glyphs": [<glyph>...],
  "Paths": [<pathitem>...],
}

pathitem (list): [<type : (EO_FILL|STROKE|FILL|SET_STROKE_COLOR|
                           SET_STROKE_WIDTH|SET_FILL_COLOR)>,
                  [<pathdata>...]]

pathdata (list): depending on pathitem type
  EO_FILL, FILL, STROKE: pathcoord
  SET_FILL_COLOR: [<r : uint8>, <g : uint8>, <b : uint8>]
  SET_STROKE_WIDTH: <width : float>

pathcoord (2 list or 6 list):
  point: [<x : float>, <y : float>]
  quadratic curve: [<a : float>, <b : float>, <c : float>, <d : float>, <e : float>, <f : float>] 

fontinfo (dict): {<Name> <Type> <Encoding> <Embedded> <Subset> <ToUnicode>}

SHA256

ebc9e2c44df687629d16edd417372021954f75bfae0757e5507bf447b70dd186  pdf2msgpack
86c882185551e2e03796a4daded103936c4960b4e06460ebcec006f07dad7b08  pdf2msgpack.dbg

v0.2: Add Paths, PDF Metadata and syscall filtering

09 Jun 13:46
Compare
Choose a tag to compare

 

SHA256

570437ddc330ba432f46ddc69af6f322dab8b52d5d3f130c2229d18bc660b17e  pdf2msgpack
90987a5312d130211347386a00f1d97e61e5edb92ca1872af5621529199d5c6c  pdf2msgpack.dbg

v0.1: Initial release

02 Jun 07:38
Compare
Choose a tag to compare
v0.1: Initial release Pre-release
Pre-release