Commit Graph

17 Commits

Author SHA1 Message Date
bcf2e05bfb Move Content out of Object module into a separate one incorporating PDF.Update (which is actually an operation that is defined only on that structure), and rename it Layer to avoid confusion with Content streams as defined in the specs (which have their own PDF.Content module already) 2020-02-17 15:29:59 +01:00
923d1800b0 Gain a bit of speed by using native Attoparsec for number types instead of reimplementing them with ByteString conversion and call to read 2020-02-14 18:02:40 +01:00
b8eb9e6856 Generalize the Parser type into a MonadParser class to use with MonadTrans and remove redundant code already defined in Applicative or Attoparsec 2019-10-14 10:17:15 +02:00
66d315b7fe Reflect the distinction between eval and run from State monad into the Parser module 2019-10-14 10:17:15 +02:00
29c5823f34 Fix precision bug caused by using Floats to represent PDF Number values sometimes used to represent a byte offset within a file 2019-09-22 01:34:17 +02:00
699f830a45 Simplify XRef structure, clarify integer types and remove nextLine 2019-09-20 22:39:14 +02:00
9dac275f68 Keep comment-opening '%' along with the comment and support empty lines 2019-05-31 15:07:41 +02:00
85e4eb9273 Fix bypassed error message for lines + add one for occurrences 2019-05-31 15:06:20 +02:00
11cb6504d7 Go strict ByteStrings with attoparsec 2019-05-24 10:48:09 +02:00
5614a25048 Generate valid PDF 2019-05-18 09:01:13 +02:00
0336baa687 Fix output implementation with dynamic XRefs 2019-05-17 16:14:06 +02:00
e23618da68 Implement output 2019-05-16 22:41:14 +02:00
9b2f890227 Boyer-Moore is canceled, implement the rest of parsing with naive search 2019-05-16 11:01:50 +02:00
fc41f815a3 Broken state : trying to implement Boyer-Moore for fast-forwarding to the end of a section 2019-05-15 19:13:35 +02:00
379a821550 Fix bugs preventing the objects from loading 2019-05-15 15:03:55 +02:00
44508a204c Reuse Parser type in PDF.Body (and generalize the type of the comment parser) 2019-05-15 09:04:17 +02:00
91292d6401 Implement retrieving objects in the body of the document and use it to populate the structure previously parsed 2019-05-14 18:42:11 +02:00