aboutsummaryrefslogtreecommitdiffstats
path: root/PolyglotFile/polyglotpdfraw.py
diff options
context:
space:
mode:
Diffstat (limited to 'PolyglotFile/polyglotpdfraw.py')
-rw-r--r--PolyglotFile/polyglotpdfraw.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/PolyglotFile/polyglotpdfraw.py b/PolyglotFile/polyglotpdfraw.py
new file mode 100644
index 0000000..c524788
--- /dev/null
+++ b/PolyglotFile/polyglotpdfraw.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+
+import logging
+
+'''
+ |-------------------------------| -
+ |--------- PDF Header ----------K1 | J1
+ |-------------------------------| -
+ |----- PDF OBJ 1 = RAW Data ----K2 |
+ |-------------------------------| -
+ |---- Original PDF Ojbects -----K3 | J2
+ |-------------------------------| -
+ |---------- Xref Table ---------| |
+ |-------------------------------K5 |
+ |----------- Trailer -----------| |
+ |-------------------------------| |
+'''
+
+
+class PolyglotPdfRaw():
+ from PdfFileTransformer import Pdf
+
+ def __init__(self, Pdf, Raw_filename):
+ self.buffer = bytearray()
+ self.pdf = Pdf
+ self.raw_filename = Raw_filename
+ self.buffer = bytearray()
+
+ def generate(self):
+ raw_buffer = bytearray()
+ with open(self.raw_filename, "rb") as f:
+ raw_buffer = f.read()
+ k2_stream = raw_buffer
+ self.pdf.insert_new_obj_stream_at_start(k2_stream)
+ self.buffer = self.pdf.get_build_buffer()
+
+ def write(self, filename):
+ fd = open(filename, "wb")
+ fd.write(self.buffer)
+ fd.close()