pdf-association / safedocs Goto Github PK
View Code? Open in Web Editor NEWArtifacts from the DARPA-funded SafeDocs research program
License: Apache License 2.0
Artifacts from the DARPA-funded SafeDocs research program
License: Apache License 2.0
According to the specification, the /Info
key in the trailer dictionary "shall be an indirect reference" (see https://www.iso.org/foreword-supplementary-information.html for the use of "shall" in ISO specs).
You have included the info dictionary directly in the trailer and therefore the PDF is invalid.
Peter - this is really great, by the way. The only assertion I have an issue with in this PDF is this token sequence:
2 0 obj endobj
I don't think this meets the requirements of the spec: here's the text (identical in both PDF1.4 and ISO32K2:2020)
The definition of an indirect object in a PDF file shall consist of its object number and generation number (separated by white-space), followed by the value of the object bracketed between the keywords obj and endobj.
The "value of the object" is missing, so I'm not sure that's a valid sequence of tokens.
Hi!
I downloaded InlineAbbreviations.pdf and it does not open regardless if I try with Mac Preview or Adobe Reader
although github does render it correctly.
ISO 32000-2:2020 clause 8.9.7 says:
The value of the Length (or L) key, which shall be present on all inline images, is the length of the data between the ID and EI operators excluding the white-space delimiting those operators. The value of the Length key should not exceed 4096 bytes.
[โฆ]
NOTE 2 The L key permits PDF processors to efficiently skip inline images if they do not need to display them. To skip an image a processor can advance beyond the single white-space character following the ID operator, then if the final or only filter is ASCIIHexDecode or ASCII85Decode skip any further white-space. The number of characters expressed by the L key is then skipped, and the EI operator is expected following optional white-space.
The value of the Length key for the inline image data has been calculated ignoring the line-ends within the image data, which is not correct. Length should be 1276 instead of 1240 according to a hex editor. That would start after the white space after ID
and end after the >
delimiter, immediately before the white space character before the EI
.
As discovered by @hhrutter in this issue, \" is not a valid PDF literal string sequence as per Table 3 in ISO 32000-.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.