We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I tried splitting a document crated by LibreOffice Writer. The first page looks fine, but all other pages are completely empty when displaying them.
I used pdfcpu commit 8c35cdc Compiled with go 1.17 on Ubuntu 21.04 executed command: pdfcpu split three_pages.pdf .
pdfcpu split three_pages.pdf .
Here is a very simple pdf to reproduce the issue: three_pages.pdf
Validation shows the following results: Original pdf:
validating(mode=relaxed) three_pages.pdf ... validation ok
First splitted page:
validating(mode=relaxed) three_pages_1.pdf ... validation ok
Second page:
validating(mode=relaxed) three_pages_2.pdf ... validation error (obj#:3): pdfcpu: dereferenceDict: wrong type pdfcpu.StreamDict <<< <Filter, FlateDecode> <Length, (4 0 R)>
Third page:
validating(mode=relaxed) three_pages_3.pdf ... validation error (obj#:3): pdfcpu: dereferenceDict: wrong type pdfcpu.Integer <137>
Full validation report for page 2:
pdfcpu validate -vv three_pages_2.pdf validating(mode=relaxed) three_pages_2.pdf ... READ: 2022/02/12 16:45:32 Read: begin INFO: 2022/02/12 16:45:32 PDF Version 1.5 conforming reader READ: 2022/02/12 16:45:32 readXRefTable: begin READ: 2022/02/12 16:45:32 scanning for offsetLastXRefSection starting at 469 READ: 2022/02/12 16:45:32 Offset last xrefsection: 712 READ: 2022/02/12 16:45:32 buildXRefTableStartingAt: begin READ: 2022/02/12 16:45:32 headerVersion begin READ: 2022/02/12 16:45:32 headerVersion: end, found header version: 1.7 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 712 READ: 2022/02/12 16:45:32 xref line 1: <8 0 obj> READ: 2022/02/12 16:45:32 xref line 2: <<</Filter/FlateDecode/ID[<9c996cfdbe531c3bab0d133ae0be75e1> <9c996cfdbe531c3bab0d133ae0be75e1>]/Index[0 9]/Info 6 0 R/Length 49/Root 1 0 R/Size 9/Type/XRef/W[1 2 2]>>> READ: 2022/02/12 16:45:32 buildXRefTableStartingAt: found xref stream READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 712 READ: 2022/02/12 16:45:32 parseXRefStream: begin at offset 712 READ: 2022/02/12 16:45:32 buffer: endInd=242 streamInd=175 READ: 2022/02/12 16:45:32 parseXRefStream: endInd=242(f2) streamInd=175(af) READ: 2022/02/12 16:45:32 parseXRefStream: xrefstm obj#:8 gen:0 READ: 2022/02/12 16:45:32 parseXRefStream: dereferencing object 8 READ: 2022/02/12 16:45:32 parseXRefStream: we have an object: << <Filter, FlateDecode> <ID, [<9C996CFDBE531C3BAB0D133AE0BE75E1> <9C996CFDBE531C3BAB0D133AE0BE75E1>]> <Index, [0 9]> <Info, (6 0 R)> <Length, 49> <Root, (1 0 R)> <Size, 9> <Type, XRef> <W, [1 2 2]> >> READ: 2022/02/12 16:45:32 pdfFilterPipeline: begin READ: 2022/02/12 16:45:32 pdfFilterPipeline: end w/o decode parms READ: 2022/02/12 16:45:32 xRefStreamDict: streamobject #8 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: begin << <Filter, FlateDecode> <ID, [<9C996CFDBE531C3BAB0D133AE0BE75E1> <9C996CFDBE531C3BAB0D133AE0BE75E1>]> <Index, [0 9]> <Info, (6 0 R)> <Length, 49> <Root, (1 0 R)> <Size, 9> <Type, XRef> <W, [1 2 2]> >> READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 894 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: seeked to offset:894 READ: 2022/02/12 16:45:32 readStreamContent: begin streamLength:49 READ: 2022/02/12 16:45:32 readStreamContent: count=49, buflen=49(31) READ: 2022/02/12 16:45:32 readStreamContent: end READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: end: len(streamDictRaw)=49 READ: 2022/02/12 16:45:32 saveDecodedStreamContent: begin decode=true TRACE: 2022/02/12 16:45:32 DecodeFlate begin READ: 2022/02/12 16:45:32 saveDecodedStreamContent: end READ: 2022/02/12 16:45:32 parseTrailerInfo begin READ: 2022/02/12 16:45:32 parseTrailerInfo: Root object: (1 0 R) READ: 2022/02/12 16:45:32 parseTrailerInfo: Info object: (6 0 R) READ: 2022/02/12 16:45:32 parseTrailerInfo: ID object: [<9C996CFDBE531C3BAB0D133AE0BE75E1> <9C996CFDBE531C3BAB0D133AE0BE75E1>] READ: 2022/02/12 16:45:32 parseTrailerInfo end READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream begin READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: begin xrefEntryLen = 5 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: objCount:9 [0 1 2 3 4 5 6 7 8] READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: len(buf):45 objCount*xrefEntryLen:45 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #0 is unused, next free is object#0, generation=65535 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #1 is in use at offset=15, generation=0 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #2 is compressed at obj 7[1] READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #3 is in use at offset=79, generation=0 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #4 is in use at offset=60, generation=0 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #5 is compressed at obj 7[0] READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #6 is in use at offset=592, generation=0 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #7 is in use at offset=295, generation=0 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: Object #8 is in use at offset=712, generation=0 READ: 2022/02/12 16:45:32 extractXRefTableEntriesFromXRefStream: end READ: 2022/02/12 16:45:32 parseXRefStream: Insert new xRefTable entry for Object 8 READ: 2022/02/12 16:45:32 parseXRefStream: end READ: 2022/02/12 16:45:32 buildXRefTableStartingAt: end TRACE: 2022/02/12 16:45:32 EnsureValidFreeList begin TRACE: 2022/02/12 16:45:32 EnsureValidFreeList: empty free list. READ: 2022/02/12 16:45:32 readXRefTable: end READ: 2022/02/12 16:45:32 dereferenceXRefTable: begin READ: 2022/02/12 16:45:32 decodeObjectStreams: begin READ: 2022/02/12 16:45:32 decodeObjectStreams: parsing object stream for obj#7 READ: 2022/02/12 16:45:32 ParseObject: begin, obj#7, offset:295 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 295 READ: 2022/02/12 16:45:32 buffer: endInd=290 streamInd=67 READ: 2022/02/12 16:45:32 object: small stream within buffer, parse until stream READ: 2022/02/12 16:45:32 pdfFilterPipeline: begin READ: 2022/02/12 16:45:32 pdfFilterPipeline: end w/o decode parms READ: 2022/02/12 16:45:32 streamDictForObject: end, Streamobject #7 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: begin << <Filter, FlateDecode> <First, 9> <Length, 205> <N, 2> <Type, ObjStm> >> READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 369 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: seeked to offset:369 READ: 2022/02/12 16:45:32 readStreamContent: begin streamLength:205 READ: 2022/02/12 16:45:32 readStreamContent: count=205, buflen=205(CD) READ: 2022/02/12 16:45:32 readStreamContent: end READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: end: len(streamDictRaw)=205 READ: 2022/02/12 16:45:32 saveDecodedStreamContent: begin decode=true TRACE: 2022/02/12 16:45:32 DecodeFlate begin READ: 2022/02/12 16:45:32 saveDecodedStreamContent: end READ: 2022/02/12 16:45:32 decodeObjectStreams: object stream #7 READ: 2022/02/12 16:45:32 decodeObjectStreams: decoding object stream 7: READ: 2022/02/12 16:45:32 parseObjectStream begin: decoding 2 objects. READ: 2022/02/12 16:45:32 parseObjectStream: objString = <</Contents 3 0 R/Group<</CS/DeviceRGB/I true/S/Transparency>>/MediaBox[0.000000000000 0.000000000000 595.303937007874 841.889763779528]/Parent 2 0 R/Resources<</Font 3 0 R/ProcSet[/PDF/Text]>>/Type/Page>> READ: 2022/02/12 16:45:32 compressedObject: begin READ: 2022/02/12 16:45:32 compressedObject: end, dict READ: 2022/02/12 16:45:32 parseObjectStream: [0] = obj 5: << <Contents, (3 0 R)> <Group, << <CS, DeviceRGB> <I, true> <S, Transparency> >>> <MediaBox, [0.00 0.00 595.30 841.89]> <Parent, (2 0 R)> <Resources, << <Font, (3 0 R)> <ProcSet, [PDF Text]> >>> <Type, Page> >> READ: 2022/02/12 16:45:32 parseObjectStream: objString = <</Count 1/Kids[5 0 R]/MediaBox[0.000000000000 0.000000000000 595.000000000000 842.000000000000]/Type/Pages>> READ: 2022/02/12 16:45:32 compressedObject: begin READ: 2022/02/12 16:45:32 compressedObject: end, dict READ: 2022/02/12 16:45:32 parseObjectStream: [1] = obj 2: << <Count, 1> <Kids, [(5 0 R)]> <MediaBox, [0.00 0.00 595.00 842.00]> <Type, Pages> >> READ: 2022/02/12 16:45:32 parseObjectStream end READ: 2022/02/12 16:45:32 decodeObjectStreams: decoded object stream 7: READ: 2022/02/12 16:45:32 decodeObjectStreams: end READ: 2022/02/12 16:45:32 dereferenceObjects: begin READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 0 READ: 2022/02/12 16:45:32 free object 0 READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 1 READ: 2022/02/12 16:45:32 in use object 1 READ: 2022/02/12 16:45:32 dereferenceObject: dereferencing object 1 READ: 2022/02/12 16:45:32 ParseObject: begin, obj#1, offset:15 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 15 READ: 2022/02/12 16:45:32 object: small obj w/o stream, parse until endobj READ: 2022/02/12 16:45:32 dict: end, #1 READ: 2022/02/12 16:45:32 dereferenceObject: end obj 1 of 9 <<< <Pages, (2 0 R)> <Type, Catalog> >>> READ: 2022/02/12 16:45:32 logStream: no ObjectStreamDict READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 2 READ: 2022/02/12 16:45:32 decompressXRefTableEntry: compressed object 2 at 7[1] READ: 2022/02/12 16:45:32 decompressXRefTableEntry: end, Obj 7[1]: <<< <Count, 1> <Kids, [(5 0 R)]> <MediaBox, [0.00 0.00 595.00 842.00]> <Type, Pages> >>> READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 3 READ: 2022/02/12 16:45:32 in use object 3 READ: 2022/02/12 16:45:32 dereferenceObject: dereferencing object 3 READ: 2022/02/12 16:45:32 ParseObject: begin, obj#3, offset:79 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 79 READ: 2022/02/12 16:45:32 buffer: endInd=209 streamInd=45 READ: 2022/02/12 16:45:32 object: small stream within buffer, parse until stream READ: 2022/02/12 16:45:32 pdfFilterPipeline: begin READ: 2022/02/12 16:45:32 pdfFilterPipeline: end w/o decode parms READ: 2022/02/12 16:45:32 streamDictForObject: end, Streamobject #3 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: begin << <Filter, FlateDecode> <Length, (4 0 R)> >> READ: 2022/02/12 16:45:32 int64Object begin: 4 READ: 2022/02/12 16:45:32 dereferencedObject: dereferencing object 4 READ: 2022/02/12 16:45:32 ParseObject: begin, obj#4, offset:60 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 60 READ: 2022/02/12 16:45:32 object: small obj w/o stream, parse until endobj READ: 2022/02/12 16:45:32 int64Object end: 4 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: new indirect streamLength:146 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 131 READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: seeked to offset:131 READ: 2022/02/12 16:45:32 readStreamContent: begin streamLength:146 READ: 2022/02/12 16:45:32 readStreamContent: count=146, buflen=146(92) READ: 2022/02/12 16:45:32 readStreamContent: end READ: 2022/02/12 16:45:32 LoadEncodedStreamContent: end: len(streamDictRaw)=146 READ: 2022/02/12 16:45:32 saveDecodedStreamContent: begin decode=false READ: 2022/02/12 16:45:32 dereferenceObject: end obj 3 of 9 <<< <Filter, FlateDecode> <Length, (4 0 R)> >>> READ: 2022/02/12 16:45:32 logStream: no stream content READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 4 READ: 2022/02/12 16:45:32 in use object 4 READ: 2022/02/12 16:45:32 logStream: no ObjectStreamDict READ: 2022/02/12 16:45:32 handleCachedStreamDict: using cached object 4 of 9 <146> READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 5 READ: 2022/02/12 16:45:32 decompressXRefTableEntry: compressed object 5 at 7[0] READ: 2022/02/12 16:45:32 decompressXRefTableEntry: end, Obj 7[0]: <<< <Contents, (3 0 R)> <Group, << <CS, DeviceRGB> <I, true> <S, Transparency> >>> <MediaBox, [0.00 0.00 595.30 841.89]> <Parent, (2 0 R)> <Resources, << <Font, (3 0 R)> <ProcSet, [PDF Text]> >>> <Type, Page> >>> READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 6 READ: 2022/02/12 16:45:32 in use object 6 READ: 2022/02/12 16:45:32 dereferenceObject: dereferencing object 6 READ: 2022/02/12 16:45:32 ParseObject: begin, obj#6, offset:592 READ: 2022/02/12 16:45:32 newPositionedReader: positioned to offset: 592 READ: 2022/02/12 16:45:32 object: small obj w/o stream, parse until endobj READ: 2022/02/12 16:45:32 dict: end, #6 READ: 2022/02/12 16:45:32 dereferenceObject: end obj 6 of 9 <<< <CreationDate, (D:20220212162316+01'00')> <ModDate, (D:20220212162316+01'00')> <Producer, (pdfcpu v0.3.13 dev)> >>> READ: 2022/02/12 16:45:32 logStream: no ObjectStreamDict READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 7 READ: 2022/02/12 16:45:32 in use object 7 READ: 2022/02/12 16:45:32 logStream: objectStream content = 5 0 2 205<</Contents 3 0 R/Group<</CS/DeviceRGB/I true/S/Transparency>>/MediaBox[0.000000000000 0.000000000000 595.303937007874 841.889763779528]/Parent 2 0 R/Resources<</Font 3 0 R/ProcSet[/PDF/Text]>>/Type/Page>><</Count 1/Kids[5 0 R]/MediaBox[0.000000000000 0.000000000000 595.000000000000 842.000000000000]/Type/Pages>> READ: 2022/02/12 16:45:32 logStream: objectStream objArr = [ << <Contents, (3 0 R)> <Group, << <CS, DeviceRGB> <I, true> <S, Transparency> >>> <MediaBox, [0.00 0.00 595.30 841.89]> <Parent, (2 0 R)> <Resources, << <Font, (3 0 R)> <ProcSet, [PDF Text]> >>> <Type, Page> >> << <Count, 1> <Kids, [(5 0 R)]> <MediaBox, [0.00 0.00 595.00 842.00]> <Type, Pages> >> ] READ: 2022/02/12 16:45:32 handleCachedStreamDict: using cached object 7 of 9 <<< <Filter, FlateDecode> <First, 9> <Length, 205> <N, 2> <Type, ObjStm> >>> READ: 2022/02/12 16:45:32 dereferenceObject: begin, dereferencing object 8 READ: 2022/02/12 16:45:32 in use object 8 READ: 2022/02/12 16:45:32 logStream: no ObjectStreamDict READ: 2022/02/12 16:45:32 handleCachedStreamDict: using cached object 8 of 9 <<< <Filter, FlateDecode> <ID, [<9C996CFDBE531C3BAB0D133AE0BE75E1> <9C996CFDBE531C3BAB0D133AE0BE75E1>]> <Index, [0 9]> <Info, (6 0 R)> <Length, 49> <Root, (1 0 R)> <Size, 9> <Type, XRef> <W, [1 2 2]> >>> TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:2 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:5 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:4 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:3 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:3 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:2 gen:0 READ: 2022/02/12 16:45:32 dereferenceObjects: end READ: 2022/02/12 16:45:32 identifyRootVersion: begin TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:1 gen:0 READ: 2022/02/12 16:45:32 dereferenceXRefTable: end READ: 2022/02/12 16:45:32 Read: end INFO: 2022/02/12 16:45:32 validating VALID: 2022/02/12 16:45:32 *** validateXRefTable begin *** VALID: 2022/02/12 16:45:32 *** validateRootObject begin *** VALID: 2022/02/12 16:45:32 validateNameEntry begin: entry=Type VALID: 2022/02/12 16:45:32 validateNameEntry end: entry=Type TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:2 gen:0 VALID: 2022/02/12 16:45:32 validateResources: This page node has 1 pages VALID: 2022/02/12 16:45:32 validateRectangleEntry begin: entry=MediaBox VALID: 2022/02/12 16:45:32 validateNumberArrayEntry begin: entry=MediaBox VALID: 2022/02/12 16:45:32 validateArrayEntry begin: entry=MediaBox VALID: 2022/02/12 16:45:32 validateArrayEntry end: entry=MediaBox VALID: 2022/02/12 16:45:32 validateNumberArrayEntry end: entry=MediaBox VALID: 2022/02/12 16:45:32 validateRectangleEntry end: entry=MediaBox VALID: 2022/02/12 16:45:32 validateRectangleEntry begin: entry=CropBox VALID: 2022/02/12 16:45:32 validateNumberArrayEntry begin: entry=CropBox VALID: 2022/02/12 16:45:32 validateArrayEntry begin: entry=CropBox VALID: 2022/02/12 16:45:32 validateIntegerEntry begin: entry=Rotate VALID: 2022/02/12 16:45:32 validatePagesDict: PageNode: (5 0 R) TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:5 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:3 gen:0 TRACE: 2022/02/12 16:45:32 FindTableEntry: obj#:3 gen:0 TRACE: 2022/02/12 16:45:32 freeList begin STATS: 2022/02/12 16:45:32 XRefTable: ************************************************************************************************* HeaderVersion: 1.7 has 1 pages using object streams using xref streams XRefTable: Size: 9 Root object: (1 0 R) Info object: (6 0 R) ID object: [<9C996CFDBE531C3BAB0D133AE0BE75E1> <9C996CFDBE531C3BAB0D133AE0BE75E1>] XRefTable with 9 entries: 0: f next= 0 generation=65535 1: offset= 15 generation=0 pdfcpu.Dict type=Catalog << <Pages, (2 0 R)> <Type, Catalog> >> 2: was compressed 7[1] generation=0 pdfcpu.Dict type=Pages << <Count, 1> <Kids, []> <MediaBox, [0.00 0.00 595.00 842.00]> <Type, Pages> >> 3: offset= 79 generation=0 pdfcpu.StreamDict << <Filter, FlateDecode> <Length, (4 0 R)> >> decoded stream content (length = 0) 4: offset= 60 generation=0 pdfcpu.Integer 146 5: was compressed 7[0] generation=0 pdfcpu.Dict type=Page << <Contents, (3 0 R)> <Group, << <CS, DeviceRGB> <I, true> <S, Transparency> >>> <MediaBox, [0.00 0.00 595.30 841.89]> <Parent, (2 0 R)> <Resources, << <Font, (3 0 R)> <ProcSet, [PDF Text]> >>> <Type, Page> >> 6: offset= 592 generation=0 pdfcpu.Dict << <CreationDate, (D:20220212162316+01'00')> <ModDate, (D:20220212162316+01'00')> <Producer, (pdfcpu v0.3.13 dev)> >> 7: offset= 295 generation=0 pdfcpu.ObjectStreamDict << <Filter, FlateDecode> <First, 9> <Length, 205> <N, 2> <Type, ObjStm> >> object stream count:2 size of objectarray:2 8: offset= 712 generation=0 pdfcpu.XRefStreamDict << <Filter, FlateDecode> <ID, [<9C996CFDBE531C3BAB0D133AE0BE75E1> <9C996CFDBE531C3BAB0D133AE0BE75E1>]> <Index, [0 9]> <Info, (6 0 R)> <Length, 49> <Root, (1 0 R)> <Size, 9> <Type, XRef> <W, [1 2 2]> >> Empty free list. Total pages: 1 No font info available. No image info available. STATS: 2022/02/12 16:45:32 Timing: STATS: 2022/02/12 16:45:32 read : 0.002s 92.8% STATS: 2022/02/12 16:45:32 validate : 0.000s 7.2% STATS: 2022/02/12 16:45:32 total processing time: 0.002s STATS: 2022/02/12 16:45:32 Original: STATS: 2022/02/12 16:45:32 File size : 981 (981 bytes) STATS: 2022/02/12 16:45:32 Total binary data : 400 (400 bytes) 40.8% STATS: 2022/02/12 16:45:32 Total other data : 581 (581 bytes) 59.2% Fatal: pdfcpu: dereferenceDict: wrong type pdfcpu.StreamDict <<< <Filter, FlateDecode> <Length, (4 0 R)> >>> github.com/pdfcpu/pdfcpu/pkg/pdfcpu.(*XRefTable).DereferenceDict /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/dereference.go:277 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validateFontResourceDict /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/font.go:1002 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validateResourceDict /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/pages.go:45 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validatePageResources /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/pages.go:114 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validatePageDict /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/pages.go:773 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.processPagesKids /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/pages.go:982 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validatePagesDict /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/pages.go:1014 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validatePages /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/pages.go:1036 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.validateRootObject /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/xReftable.go:948 github.com/pdfcpu/pdfcpu/pkg/pdfcpu/validate.XRefTable /home/tobi/workspace/go/pdfcpu/pkg/pdfcpu/validate/xReftable.go:40 github.com/pdfcpu/pdfcpu/pkg/api.ValidateContext /home/tobi/workspace/go/pdfcpu/pkg/api/api.go:70 github.com/pdfcpu/pdfcpu/pkg/api.Validate /home/tobi/workspace/go/pdfcpu/pkg/api/validate.go:51 github.com/pdfcpu/pdfcpu/pkg/api.ValidateFile /home/tobi/workspace/go/pdfcpu/pkg/api/validate.go:92 github.com/pdfcpu/pdfcpu/pkg/api.ValidateFiles /home/tobi/workspace/go/pdfcpu/pkg/api/validate.go:115 github.com/pdfcpu/pdfcpu/pkg/cli.Validate /home/tobi/workspace/go/pdfcpu/pkg/cli/cli.go:32 github.com/pdfcpu/pdfcpu/pkg/cli.Process /home/tobi/workspace/go/pdfcpu/pkg/cli/process.go:35 main.process /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/process.go:119 main.processValidateCommand /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/process.go:175 main.commandMap.process /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/cmd.go:142 main.main /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/main.go:55 runtime.main /usr/local/go/src/runtime/proc.go:255 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1581 validation error (obj#:3) github.com/pdfcpu/pdfcpu/pkg/api.Validate /home/tobi/workspace/go/pdfcpu/pkg/api/validate.go:56 github.com/pdfcpu/pdfcpu/pkg/api.ValidateFile /home/tobi/workspace/go/pdfcpu/pkg/api/validate.go:92 github.com/pdfcpu/pdfcpu/pkg/api.ValidateFiles /home/tobi/workspace/go/pdfcpu/pkg/api/validate.go:115 github.com/pdfcpu/pdfcpu/pkg/cli.Validate /home/tobi/workspace/go/pdfcpu/pkg/cli/cli.go:32 github.com/pdfcpu/pdfcpu/pkg/cli.Process /home/tobi/workspace/go/pdfcpu/pkg/cli/process.go:35 main.process /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/process.go:119 main.processValidateCommand /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/process.go:175 main.commandMap.process /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/cmd.go:142 main.main /home/tobi/workspace/go/pdfcpu/cmd/pdfcpu/main.go:55 runtime.main /usr/local/go/src/runtime/proc.go:255 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1581
The text was updated successfully, but these errors were encountered:
Hello!
Thanks for reporting this. I will check it out.
Sorry, something went wrong.
adf6c1b
This is fixed with latest commit.
Thanks for using pdfcpu 💚
Sync with master (#7)
9adb57b
* Fix pdfcpu#442, pdfcpu#443 * Fix pdfcpu#437 * Fix pdfcpu#434 * Fix pdfcpu#429 * Fix pdfcpu#438 * Fix pdfcpu#440 * Fix pdfcpu#380 * Fix pdfcpu#446 * Add Fedora instructions (pdfcpu#439) * Fix pdfcpu#389 * Fix pdfcpu#357, pdfcpu#451 * Fix free list validation * Cleanup * Fix pdfcpu#453 * Fix pdfcpu#457 * Revert "Revert "Fix pdfcpu#385"" This reverts commit bbe8e25. Co-authored-by: Horst Rutter <hhrutter@gmail.com> Co-authored-by: Fabio Alessandro Locati <77888+Fale@users.noreply.github.com>
hhrutter
No branches or pull requests
I tried splitting a document crated by LibreOffice Writer. The first page looks fine, but all other pages are completely empty when displaying them.
I used pdfcpu commit 8c35cdc
Compiled with go 1.17 on Ubuntu 21.04
executed command:
pdfcpu split three_pages.pdf .
Here is a very simple pdf to reproduce the issue: three_pages.pdf
Validation shows the following results:
Original pdf:
First splitted page:
Second page:
Third page:
Full validation report for page 2:
The text was updated successfully, but these errors were encountered: