Commit Graph

33 Commits

Author SHA1 Message Date
Grégory Soutadé 6060d12344 Add removeObject() method to parser 2024-03-23 18:28:23 +01:00
Grégory Soutadé c5ce75b9ee Remove useless space after list "[" first item 2023-08-08 20:06:44 +02:00
Grégory Soutadé f5f257685c Try to fix GCC 13 compilation errors 2023-04-29 13:10:31 +02:00
Grégory Soutadé a421098092 Update CXXFLAGS in Makefile (to append our own flags) 2023-01-10 20:16:27 +01:00
Grégory Soutadé fee7ec9cc3 Fix \r\n handling in stream read and write functions 2023-01-07 15:43:39 +01:00
Grégory Soutadé 68371b9b17 Check for potential write error (or not buffer full consumed) 2022-12-23 17:51:01 +01:00
Grégory Soutadé c22babf3c4 Update Length when setting new data in stream 2022-12-23 17:49:45 +01:00
Grégory Soutadé 988662aa99 Be sure Size contains max ID 2022-12-23 16:55:09 +01:00
Grégory Soutadé 9d56c1d0b1 Forget to check for _dataLength in commit 6be1a4707f (new line for after stream write) 2022-03-16 10:47:43 +01:00
Grégory Soutadé e4e6160a6b Call repairTrailer() after parse(), not before write() 2022-03-15 19:58:42 +01:00
Grégory Soutadé 27b9d8ec3e Handle cases where no xref table is present (use startxref offset instead) and where trailer is not conform (use values from XRef object if present) 2022-03-14 19:57:25 +01:00
Grégory Soutadé ea37dcbded Copy file content into new file if they're different and writeUpdate() is called 2022-03-14 19:56:50 +01:00
Grégory Soutadé 6be1a4707f Be sure there is a final line return when writing streams data 2022-03-14 08:19:43 +01:00
Grégory Soutadé 114ef1c5d1 Fix location bug for real values (',' can be used instead of '.') 2022-03-12 21:12:07 +01:00
Grégory Soutadé 00be31a318 Keep XRefStm pointer valid (because it may refer objects in streams which are not detected by uPDFParser) + Display max id in xref table and not object counts 2022-03-12 21:11:47 +01:00
Grégory Soutadé 03c18d225c Fix bug on first object in xref table 2022-03-12 21:11:23 +01:00
Grégory Soutadé 66fdbd0342 Always check Length value for stream parsing wether or not it has filter 2022-03-12 21:10:24 +01:00
Grégory Soutadé c7c665aa8f Display empty dictionnary inside empty objects + Add line return before endobject if there is not 2022-03-12 21:09:52 +01:00
Grégory Soutadé b540646199 Rework stream parsing (manage \n and \r before endstream token) 2022-02-22 21:14:58 +01:00
Grégory Soutadé 47143308ca Add support for full document write operation 2021-12-18 17:29:41 +01:00
Grégory Soutadé cadd567d52 Parse xrefTable 2021-12-18 17:29:26 +01:00
Grégory Soutadé d8bbf8a21d Manage stream data reading (without filter interpretation) 2021-12-18 17:27:35 +01:00
Grégory Soutadé 29a93e2cfc Support indirect objects 2021-12-18 17:26:01 +01:00
Grégory Soutadé 8c49c53dde Add unescapedValue() for String objects 2021-12-18 17:23:21 +01:00
Grégory Soutadé 224267f360 Fix a bug : don't double '-' sign on negative numbers 2021-12-18 17:21:48 +01:00
Grégory Soutadé 5ea898b837 Add "used" property for PDF objects 2021-12-18 17:14:53 +01:00
Grégory Soutadé ea551b6f52 Multiple improvments :
* nextToken() can return comments if needed (used for %%EOF)
  * Handle object after %%EOF without line return
  * Handle trailer without xref
  * Handle parenthesis in string objects
  * Fix error on stream parsing (fallback to big chunk read)
2021-09-28 14:35:45 +02:00
Grégory Soutadé 7f2a84c10c Add test sample 2021-09-09 20:57:10 +02:00
Grégory Soutadé 89e9fdc55e Increase PDF format support (more test samples used) 2021-09-09 20:55:25 +02:00
Grégory Soutadé f243271215 Improve performances for stream parsing 2021-09-09 20:46:46 +02:00
Grégory Soutadé f299c69654 Fix error in Makefile : forget for variable in if condition 2021-08-25 21:41:06 +02:00
Grégory Soutadé 9f5469ffda Remove forgotten trace 2021-08-21 21:16:43 +02:00
Grégory Soutadé 39e2f6ecc9 Initial commit 2021-08-21 18:22:58 +02:00