Comments (2)
@gwierzchowski Unfortunately, PDF specification ISO-32000 does not support empty strings in DocInfo.
https://www.adobe.com/content/dam/acom/en/devnet/pdf/PDF32000_2008.pdf
Specification text provided below:
The optional Info entry in the trailer of a PDF file (see 7.5.5, “File Trailer”) shall hold a document information
dictionary containing metadata for the document; Table 317 shows its contents. Any entry whose value is not
known should be omitted from the dictionary rather than included with an empty string as its value.
Many PDF writers have taken exceptions to such PDF specification directives that are not ideal. Fixing for every writer may not be practical and being too tolerant can lead to unknown side effects.
My suggestion will be to identify all these cases but throw one exception to the end of processing so that an API user can get whatever compliant information is available but throwing meaningful exception should be to help identify for non-compliant behavior and handle exceptions in the API user's code not PDFIO
code as a graceful option. Hence, you may want to review the PRs again in these lines. If you have an alternate viewpoint or have seen a newer version of specification please let me know.
from pdfio.jl.
Labeling as enhancement as the error thrown is not clean and once error is throw no easy way to recover valid values. A good API should provide cleaner way to recover on genuine failures which needs to be implemented here.
from pdfio.jl.
Related Issues (20)
- Bug: no method matching read_internal_stream_data(::IOStream, ::CosDict, ::Base.GenericIOBuffer{Array{UInt8,1}}) HOT 6
- OpenSSL warning upon `using PDFIO` HOT 8
- ERROR: MethodError: no method matching String(::PDFIO.Cos.CosIndirectObject{CosName}) HOT 1
- New release? HOT 2
- ERROR: Found 'j(106)' Expected 'x' here HOT 6
- Precompilation issue with Julia v1.6 HOT 4
- TagBot trigger issue HOT 7
- Bad PDF files which have junk characters before header and after EOF marker error unexpected character. HOT 5
- Support for AbstractTrees v0.3 HOT 3
- AssertionError: Invalid interval HOT 8
- RomanNumerals fixed
- Add test cases for AGL. HOT 4
- Error in `merge_encoding!` when extracting text HOT 12
- Text extraction ignores different kinds of white spaces
- Error on open a file: ArgumentError: extra characters after whitespace in "4970\n396" HOT 1
- `zlib1` error in Windows HOT 3
- assert error reading a pdf HOT 7
- problem extracting text on a two columns layout HOT 6
- Still active? HOT 1
- Incorrect Doc Info HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pdfio.jl.