diff --git a/src/img2pdf.py b/src/img2pdf.py index 5e5a640..f27e0f5 100755 --- a/src/img2pdf.py +++ b/src/img2pdf.py @@ -1075,7 +1075,7 @@ class pdfdoc(object): self.tostream(stream) return stream.getvalue() - def tostream(self, outputstream=None, return_engine_doc=False): + def todoc(self): if self.engine == Engine.pikepdf: PdfArray = pikepdf.Array PdfDict = pikepdf.Dictionary @@ -1267,12 +1267,11 @@ class pdfdoc(object): self.writer.addobj(metadata) self.writer.addobj(iccstream) - if return_engine_doc: - return self.writer, self.output_version + return self.writer, self.output_version - # now write out the PDF - if outputstream is None: - raise TypeError("pdfdoc.tostream() requires outputstream unless return_engine_doc is True.") + def tostream(self, outputstream): + # write out the PDF + self.todoc() # finalize self.writer if self.engine == Engine.pikepdf: kwargs = {} if pikepdf.__version__ >= "6.2.0": @@ -1281,6 +1280,7 @@ class pdfdoc(object): outputstream, min_version=self.output_version, linearize=True, **kwargs ) elif self.engine == Engine.pdfrw: + from pdfrw import PdfName, PdfArray self.writer.trailer.Info = self.writer.docinfo # setting the version attribute of the pdfrw PdfWriter object will # influence the behaviour of the write() function @@ -2803,11 +2803,11 @@ def convert(*images, **kwargs): ) if kwargs["outputstream"]: - pdf.tostream(outputstream=kwargs["outputstream"]) + pdf.tostream(kwargs["outputstream"]) return if kwargs["return_engine_doc"]: - return pdf.tostream(return_engine_doc=True) + return pdf.todoc() return pdf.tostring()