Skip to content

Instantly share code, notes, and snippets.

@requeijaum
Created July 26, 2018 02:53
Show Gist options
  • Save requeijaum/bbe6a5533a404b8720aa766d00b82703 to your computer and use it in GitHub Desktop.
Save requeijaum/bbe6a5533a404b8720aa766d00b82703 to your computer and use it in GitHub Desktop.
Rip a PDF file from DocSlide without waiting for the download counter to reach 0 seconds
Got PDF parser from https://blog.didierstevens.com/programs/pdf-tools/ - use Python 3.5.
I can't view the PDF... but it has some pictures and weights some megabytes.
Stream... encoding... compression... obfuscation...
Updating findings here and in my twitter (twitter.com/requeijaum).
This program has not been tested with this version of Python (3.6.5)
Should you encounter problems, please use Python version 3.6.3
PDF Comment '%PDF-1.3\r'
obj 1 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im1
/Width 637
/Height 876
/Length 312789
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 2 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 3 0
Type: /Page
Referencing: 4 0 R, 1 0 R, 2 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im1 1 0 R
>>
>>
/Contents '[ 2 0 R\r]'
>>
obj 5 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im2
/Width 637
/Height 876
/Length 316320
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 6 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 7 0
Type: /Page
Referencing: 4 0 R, 5 0 R, 6 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im2 5 0 R
>>
>>
/Contents '[ 6 0 R\r]'
>>
obj 8 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im3
/Width 637
/Height 876
/Length 340802
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 9 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 10 0
Type: /Page
Referencing: 4 0 R, 8 0 R, 9 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im3 8 0 R
>>
>>
/Contents '[ 9 0 R\r]'
>>
obj 11 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im4
/Width 637
/Height 876
/Length 285834
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 12 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 13 0
Type: /Page
Referencing: 4 0 R, 11 0 R, 12 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im4 11 0 R
>>
>>
/Contents '[ 12 0 R\r]'
>>
obj 14 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im5
/Width 637
/Height 876
/Length 353359
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 15 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 16 0
Type: /Page
Referencing: 4 0 R, 14 0 R, 15 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im5 14 0 R
>>
>>
/Contents '[ 15 0 R\r]'
>>
obj 17 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im6
/Width 637
/Height 876
/Length 347901
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 18 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 19 0
Type: /Page
Referencing: 4 0 R, 17 0 R, 18 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im6 17 0 R
>>
>>
/Contents '[ 18 0 R\r]'
>>
obj 20 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im7
/Width 637
/Height 876
/Length 342508
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 21 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 22 0
Type: /Page
Referencing: 4 0 R, 20 0 R, 21 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im7 20 0 R
>>
>>
/Contents '[ 21 0 R\r]'
>>
obj 23 0
Type: /XObject
Referencing:
Contains stream
<<
/Type /XObject
/Subtype /Image
/Name /Im8
/Width 637
/Height 876
/Length 291407
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter [ /DCTDecode ]
>>
obj 24 0
Type:
Referencing:
Contains stream
<<
/Length 47
>>
obj 25 0
Type: /Page
Referencing: 4 0 R, 23 0 R, 24 0 R
<<
/Type /Page
/MediaBox [0 0 612 841]
/Parent 4 0 R
/Rotate 0
/Resources
<<
/ProcSet [/PDF /ImageC /ImageB /ImageI]
/XObject
<<
/Im8 23 0 R
>>
>>
/Contents '[ 24 0 R\r]'
>>
'''
To-do a script...
'''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment