Branch
Hash :
336f8713
Author :
Thomas de Grivel
Date :
2025-11-05T15:10:47
try to remove rounding errors
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
require PDF
PDF
PDF.parse_str(" 123 ")
123
PDF.parse_str("(Hello \\n World)")
pdf_buf_parse_string: str = "Hello \n World"
"Hello \n World"
PDF.parse_str("(Tab\\tTest)")
pdf_buf_parse_string: str = "Tab\tTest"
"Tab\tTest"
PDF.parse_str("(Quote\\\"Test)")
pdf_buf_parse_string: str = "Quote\"Test"
"Quote\"Test"
PDF.parse_str("(Backslash\\\\Test)")
pdf_buf_parse_string: str = "Backslash\\Test"
"Backslash\\Test"
PDF.parse_str("(\\101\\102\\103)")
pdf_buf_parse_string: str = "ABC"
"ABC"
PDF.parse_str("(outer \\(inner\\) text)")
pdf_buf_parse_string: str = "outer (inner) text"
"outer (inner) text"
PDF.parse_str("<41 42 43 44>")
pdf_buf_parse_string: str = "ABCD"
"ABCD"
PDF.parse_str("/VeryLongNameWithManyCharactersToTestParsing")
VeryLongNameWithManyCharactersToTestParsing
PDF.parse_str("/Name#20With#20Spaces")
:"Name With Spaces"
PDF.parse_str("[ ]")
[void]
PDF.parse_str("<<>>")
%{}
PDF.parse_str("[true false null]")
[true, false, void]
PDF.parse_str("[[[[/nested]]]]")
[[[[:nested]]]]
PDF.parse_str("<< /A << /B << /C /D >> >> >>")
%{A: %{B: %{C: D}}}
PDF.parse_str("999999999999999999")
999999999999999999
PDF.parse_str("-0")
0
PDF.parse_str("12345.678")
(F64) 1.23456779999999e+4
PDF.parse_str("true")
true
PDF.parse_str("false")
false
PDF.parse_str("42 0 obj /Test endobj")
{:indirect_object, (U32) 42, (U16) 0, Test}
PDF.parse_str("42 5 R")
{:indirect_object, (U32) 42, (U16) 5}
PDF.parse_str("0 0 R/Name")
{:indirect_object, (U32) 0, (U16) 0}
PDF.parse_str("123 % This is a comment\n")
123
PDF.parse_str("<</Length 306/Filter/FlateDecode>>")
%{Filter: FlateDecode,
Length: 306}
PDF.parse_str("333195 0 obj<</Subtype/Type1C/Length 3/Filter/FlateDecode>>stream\r\n123\r\nendstream\r\nendobj")
{:indirect_object, 333195, (U16) 0, %PDF.Stream{dictionnary: %{Filter: FlateDecode,
Length: 3,
Subtype: Type1C},
offset: (S64) 67,
length: (S64) 3}}