You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have been using this library for some time now but have recently encountered an issue with a particular file. The file itself seems to be pdf 1.4
Please ensure the following:
Your issue is based on the latest commit
yes
State your OS and OS version
Ubuntu 20.04 and OSX Sonoma
When reporting a problem with a specific PDF input file please avoid stating the organization responsible for the PDFWriter - just refer to the PDFWriter
The below is the output from Validate after we failed splitting the pdf into chunks
READ: 2024/03/10 16:11:37 Read: begin
INFO: 2024/03/10 16:11:37 PDF Version 1.5 conforming reader
READ: 2024/03/10 16:11:37 readXRefTable: begin
READ: 2024/03/10 16:11:37 scanning for offsetLastXRefSection starting at 95234
READ: 2024/03/10 16:11:37 Offset last xrefsection: 94991
READ: 2024/03/10 16:11:37 buildXRefTableStartingAt: begin
READ: 2024/03/10 16:11:37 headerVersion begin
READ: 2024/03/10 16:11:37 headerVersion: end, found header version: 1.4
READ: 2024/03/10 16:11:37 newPositionedReader: positioned to offset: 94991
READ: 2024/03/10 16:11:37 xref line 1: <xref>
READ: 2024/03/10 16:11:37 tryXRefSection: found xref section
READ: 2024/03/10 16:11:37 parseXRefSection begin
READ: 2024/03/10 16:11:37 parseXRefSection: <0 34>
READ: 2024/03/10 16:11:37 parseXRefTableSubSection: begin
READ: 2024/03/10 16:11:37 detected xref subsection, startObj=0 length=34
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #0 is unused, next free is object#0, generation=65535
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #1 is in use at offset=10, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 1
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #2 is in use at offset=103, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 2
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #3 is in use at offset=156, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 3
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #4 is in use at offset=265, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 4
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #5 is in use at offset=386, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 5
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #6 is in use at offset=7658, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 6
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #7 is in use at offset=7779, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 7
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #8 is in use at offset=14962, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 8
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #9 is in use at offset=15083, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 9
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #10 is in use at offset=23153, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 10
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #11 is in use at offset=23275, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 11
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #12 is in use at offset=31032, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 12
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #13 is in use at offset=31154, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 13
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #14 is in use at offset=39481, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 14
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #15 is in use at offset=39603, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 15
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #16 is in use at offset=47208, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 16
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #17 is in use at offset=47242, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 17
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #18 is in use at offset=47362, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 18
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #19 is in use at offset=47481, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 19
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #20 is in use at offset=47651, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 20
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #21 is in use at offset=54924, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 21
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #22 is in use at offset=55094, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 22
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #23 is in use at offset=62278, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 23
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #24 is in use at offset=62448, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 24
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #25 is in use at offset=70519, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 25
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #26 is in use at offset=70689, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 26
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #27 is in use at offset=78446, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 27
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #28 is in use at offset=78616, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 28
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #29 is in use at offset=86943, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 29
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #30 is in use at offset=87113, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 30
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #31 is in use at offset=94718, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 31
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #32 is in use at offset=94752, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 32
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableEntry: begin
READ: 2024/03/10 16:11:37 createXRefTableEntry: Object #33 is in use at offset=94872, generation=0
READ: 2024/03/10 16:11:37 parseXRefTableEntry: Insert new xreftable entry for Object 33
READ: 2024/03/10 16:11:37 parseXRefTableEntry: end
READ: 2024/03/10 16:11:37 parseXRefTableSubSection: end
READ: 2024/03/10 16:11:37 parseXRefSection: All subsections read!
READ: 2024/03/10 16:11:37 parseXRefSection: parsing trailer dict..
READ: 2024/03/10 16:11:37 line (len 7) <trailer>
READ: 2024/03/10 16:11:37 line: <>
READ: 2024/03/10 16:11:37 line: <<< /Size 34>
READ: 2024/03/10 16:11:37 processTrailer: trailerString: (len:27) <<< /Size 34
/Root 1 0 R >>
>
READ: 2024/03/10 16:11:37 processTrailer: trailerDict:
<<
<Root, (1 0 R)>
<Size, 34>
>>
READ: 2024/03/10 16:11:37 parseTrailerDict begin
READ: 2024/03/10 16:11:37 parseTrailer begin
READ: 2024/03/10 16:11:37 parseTrailerRoot: Root object: (1 0 R)
READ: 2024/03/10 16:11:37 parseTrailerf end
READ: 2024/03/10 16:11:37 parseTrailerDict end
READ: 2024/03/10 16:11:37 buildXRefTableStartingAt: end
TRACE: 2024/03/10 16:11:37 EnsureValidFreeList: begin
TRACE: 2024/03/10 16:11:37 EnsureValidFreeList: empty free list.
READ: 2024/03/10 16:11:37 readXRefTable: end
READ: 2024/03/10 16:11:37 dereferenceXRefTable: begin
READ: 2024/03/10 16:11:37 decodeObjectStreams: begin
READ: 2024/03/10 16:11:37 decodeObjectStreams: end
READ: 2024/03/10 16:11:37 dereferenceObjects: begin
READ: 2024/03/10 16:11:37 dereferenceObject: begin, dereferencing object 0
READ: 2024/03/10 16:11:37 free object 0
READ: 2024/03/10 16:11:37 dereferenceObject: begin, dereferencing object 1
READ: 2024/03/10 16:11:37 in use object 1
READ: 2024/03/10 16:11:37 dereferenceAndLoad: dereferencing object 1
READ: 2024/03/10 16:11:37 ParseObject: begin, obj#1, offset:10
READ: 2024/03/10 16:11:37 newPositionedReader: positioned to offset: 10
READ: 2024/03/10 16:11:37 object: small obj w/o stream, parse until endobj
READ: 2024/03/10 16:11:37 dict: end, #1
READ: 2024/03/10 16:11:37 dereferenceAndLoad: end obj 1 of 34
<<<
<Outlines, (2 0 R)>
<PageMode, UseNone>
<Pages, (3 0 R)>
<Type, Catalog>
>>>
READ: 2024/03/10 16:11:37 logStream: no ObjectStreamDict
READ: 2024/03/10 16:11:37 dereferenceObject: begin, dereferencing object 2
READ: 2024/03/10 16:11:37 in use object 2
READ: 2024/03/10 16:11:37 dereferenceAndLoad: dereferencing object 2
READ: 2024/03/10 16:11:37 ParseObject: begin, obj#2, offset:103
READ: 2024/03/10 16:11:37 newPositionedReader: positioned to offset: 103
READ: 2024/03/10 16:11:37 object: small obj w/o stream, parse until endobj
READ: 2024/03/10 16:11:37 dict: end, #2
READ: 2024/03/10 16:11:37 dereferenceAndLoad: end obj 2 of 34
<<<
<Count, 0>
<Type, Outlines>
>>>
READ: 2024/03/10 16:11:37 logStream: no ObjectStreamDict
READ: 2024/03/10 16:11:37 dereferenceObject: begin, dereferencing object 3
READ: 2024/03/10 16:11:37 in use object 3
READ: 2024/03/10 16:11:37 dereferenceAndLoad: dereferencing object 3
READ: 2024/03/10 16:11:37 ParseObject: begin, obj#3, offset:156
READ: 2024/03/10 16:11:37 newPositionedReader: positioned to offset: 156
READ: 2024/03/10 16:11:37 object: small obj w/o stream, parse until endobj
READ: 2024/03/10 16:11:37 dict: end, #3
READ: 2024/03/10 16:11:37 dereferenceAndLoad: end obj 3 of 34
<<<
<Count, 6>
<Kids, [(19 0 R) (21 0 R) (23 0 R) (25 0 R) (27 0 R) (29 0 R)]>
<Type, Pages>
>>>
READ: 2024/03/10 16:11:37 logStream: no ObjectStreamDict
READ: 2024/03/10 16:11:37 dereferenceObject: begin, dereferencing object 4
READ: 2024/03/10 16:11:37 in use object 4
READ: 2024/03/10 16:11:37 dereferenceAndLoad: dereferencing object 4
READ: 2024/03/10 16:11:37 ParseObject: begin, obj#4, offset:265
READ: 2024/03/10 16:11:37 newPositionedReader: positioned to offset: 265
READ: 2024/03/10 16:11:37 object: small obj w/o stream, parse until endobj
Fatal: pdfcpu: parse: corrupt name object
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.init
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/model/annotation.go:75
runtime.doInit1
/opt/homebrew/opt/go/libexec/src/runtime/proc.go:6740
runtime.doInit
/opt/homebrew/opt/go/libexec/src/runtime/proc.go:6707
runtime.main
/opt/homebrew/opt/go/libexec/src/runtime/proc.go:249
runtime.goexit
/opt/homebrew/opt/go/libexec/src/runtime/asm_arm64.s:1197
dereferenceAndLoad: problem dereferencing object 4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.dereferenceAndLoad
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/read.go:2644
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.dereferenceObject
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/read.go:2727
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.dereferenceObjects
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/read.go:2793
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.dereferenceXRefTable
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/read.go:2903
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.ReadWithContext
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/read.go:105
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.Read
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/pdfcpu/read.go:74
github.com/pdfcpu/pdfcpu/pkg/api.ReadContext
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/api/api.go:74
github.com/pdfcpu/pdfcpu/pkg/api.Validate
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/api/validate.go:43
github.com/pdfcpu/pdfcpu/pkg/api.ValidateFile
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/api/validate.go:91
github.com/pdfcpu/pdfcpu/pkg/api.ValidateFiles
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/api/validate.go:110
github.com/pdfcpu/pdfcpu/pkg/cli.Validate
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/cli/cli.go:27
github.com/pdfcpu/pdfcpu/pkg/cli.Process
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/pkg/cli/process.go:35
main.process
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/cmd/pdfcpu/process.go:150
main.processValidateCommand
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/cmd/pdfcpu/process.go:207
main.commandMap.process
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/cmd/pdfcpu/cmd.go:143
main.main
/Users/mark.hender/go/pkg/mod/github.com/pdfcpu/pdfcpu@v0.7.0/cmd/pdfcpu/main.go:56
runtime.main
/opt/homebrew/opt/go/libexec/src/runtime/proc.go:267
runtime.goexit
/opt/homebrew/opt/go/libexec/src/runtime/asm_arm64.s:1197
The text was updated successfully, but these errors were encountered:
Sorry, this is not enough to be able to analyze your problem.
Looks like a parsing problem - I would need the file in front of me in order to provide a fix.
Thank you for submitting a possible bug!
We have been using this library for some time now but have recently encountered an issue with a particular file. The file itself seems to be pdf 1.4
Please ensure the following:
yes
Ubuntu 20.04 and OSX Sonoma
The below is the output from Validate after we failed splitting the pdf into chunks
The text was updated successfully, but these errors were encountered: