convert-stream 1.2__tar.gz → 1.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of convert-stream might be problematic. Click here for more details.

Files changed (27) hide show
  1. {convert_stream-1.2 → convert_stream-1.2.3}/PKG-INFO +2 -2
  2. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/__init__.py +10 -5
  3. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/__main__.py +16 -4
  4. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/_version.py +3 -3
  5. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/convert.py +133 -66
  6. convert_stream-1.2.3/convert_stream/image_to_pdf.py +218 -0
  7. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/imagelib.py +100 -60
  8. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/models/m_text.py +2 -2
  9. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/models/models_image.py +6 -8
  10. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/models/models_pdf.py +114 -108
  11. convert_stream-1.2.3/convert_stream/pdf_compress.py +136 -0
  12. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/pdf_document.py +56 -20
  13. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/pdf_page.py +74 -57
  14. convert_stream-1.2.3/convert_stream/pdf_to_images.py +133 -0
  15. convert_stream-1.2.3/convert_stream/progress/__init__.py +0 -0
  16. {convert_stream-1.2/convert_stream/models → convert_stream-1.2.3/convert_stream/progress}/progress_bar.py +8 -7
  17. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream.egg-info/PKG-INFO +2 -2
  18. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream.egg-info/SOURCES.txt +5 -2
  19. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream.egg-info/requires.txt +1 -1
  20. {convert_stream-1.2 → convert_stream-1.2.3}/pyproject.toml +8 -3
  21. convert_stream-1.2/convert_stream/pdf_convert.py +0 -294
  22. {convert_stream-1.2 → convert_stream-1.2.3}/README.md +0 -0
  23. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/models/__init__.py +0 -0
  24. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream/text.py +0 -0
  25. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream.egg-info/dependency_links.txt +0 -0
  26. {convert_stream-1.2 → convert_stream-1.2.3}/convert_stream.egg-info/top_level.txt +0 -0
  27. {convert_stream-1.2 → convert_stream-1.2.3}/setup.cfg +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: convert_stream
3
- Version: 1.2
3
+ Version: 1.2.3
4
4
  Summary: Manipulação de documentos PDF e Imagens. Converter, Ler, rotacionar exportar etc.
5
5
  Author: Bruno Chaves
6
6
  Requires-Python: >=3.11
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: soup_files==1.0.1
8
+ Requires-Dist: soup_files
9
9
  Requires-Dist: PyPDF2==3.0.1
10
10
  Requires-Dist: PyMuPDF==1.25.5
11
11
  Requires-Dist: reportlab==4.3.1
@@ -2,7 +2,8 @@
2
2
  #
3
3
  from ._version import (
4
4
  __version__, __module_name__,
5
- __author__, __license__, __modify_date__
5
+ __author__, __license__,
6
+ __modify_date__
6
7
  )
7
8
  version = __version__
8
9
 
@@ -11,13 +12,17 @@ from .text import (
11
12
  LibraryDates, print_title, print_line, save_data
12
13
  )
13
14
 
14
- from .models.progress_bar import (
15
- ProgressBarAdapter, ProgressBarSimple, ProgressBarTqdm, ABCProgressBar
15
+ from convert_stream.progress.progress_bar import (
16
+ ProgressBarAdapter, ProgressBarSimple,
17
+ ProgressBarTqdm, ABCProgressBar
16
18
  )
19
+
17
20
  from .models.models_pdf import LibraryPDF
18
21
  from .imagelib import ImageObject, ImageInverColor, LibraryImage
19
22
  from .pdf_page import PageDocumentPdf, PagePdfFitz, PagePyPdf2
20
- from .pdf_document import DocumentPdf
21
- from .pdf_convert import ConvertPdfToImage, ImageConvertPdf
23
+ from .pdf_document import DocumentPdf, FileDocumentPdf
24
+ from .pdf_to_images import ConvertPdfToImage
25
+ from .image_to_pdf import ImageConvertPdf
22
26
  from .convert import PdfStream, ImageStream, get_data_from_pdfs
27
+ from .pdf_compress import CompressDocument
23
28
 
@@ -11,7 +11,9 @@
11
11
  + Incluir o método set_rotation() em ImageObject()
12
12
 
13
13
  """
14
- import sys, os
14
+ import os
15
+ import sys
16
+
15
17
  this_file = os.path.abspath(os.path.relpath(__file__))
16
18
  dir_of_project = os.path.dirname(this_file)
17
19
  sys.path.insert(0, dir_of_project)
@@ -22,13 +24,23 @@ from convert_stream import (
22
24
 
23
25
 
24
26
  def test():
25
- from convert_stream import PageDocumentPdf, PdfStream, DocumentPdf
26
- from soup_files import File, Directory, UserFileSystem
27
+ from convert_stream import (
28
+ FileDocumentPdf, CompressDocument, DocumentPdf, LibraryPDF,
29
+ PdfStream, ImageStream, PageDocumentPdf,
30
+ )
31
+ from soup_files import (
32
+ Directory, File, UserFileSystem, InputFiles
33
+ )
34
+
35
+ outdir: Directory = UserFileSystem().userDownloads.concat('output', create=True)
36
+ indir: Directory = UserFileSystem().userDownloads.concat('TESTE-PDF', create=True)
37
+ base = indir.join_file('base.pdf')
27
38
 
28
39
 
29
40
  def main():
30
41
  print_title(f'{__module_name__} versão {version} - {__modify_date__}', char='-')
31
42
  test()
32
43
 
44
+
33
45
  if __name__ == '__main__':
34
- main()
46
+ main()
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  # -*- coding: utf-8 -*-
3
- __version__ = '1.2'
3
+ __version__ = '1.2.3'
4
4
  __author__ = 'Bruno Chaves'
5
5
  __license__ = 'MIT'
6
- __module_name__ = 'pdflib'
7
- __modify_date__ = '2025-05-28'
6
+ __module_name__ = 'convert_stream'
7
+ __modify_date__ = '2025-06-28'
@@ -6,47 +6,51 @@ import pandas
6
6
 
7
7
  from convert_stream.models import ABCDocumentStream, LibraryImage, LibraryPDF
8
8
  from convert_stream.imagelib import ImageObject
9
- from convert_stream.models.progress_bar import ProgressBarAdapter, ProgressBarSimple
9
+ from convert_stream.progress.progress_bar import ProgressBarAdapter, ProgressBarSimple
10
10
  from convert_stream.pdf_page import PageDocumentPdf
11
11
  from convert_stream.pdf_document import DocumentPdf
12
- from convert_stream.pdf_convert import ConvertPdfToImage, ImageConvertPdf
12
+ from convert_stream.pdf_to_images import ConvertPdfToImage
13
+ from convert_stream.image_to_pdf import ImageConvertPdf
13
14
  from soup_files import File, Directory
14
15
 
15
16
  #==================================================================#
16
17
  # PDF
17
18
  #==================================================================#
18
19
 
20
+
19
21
  class PdfStream(ABCDocumentStream):
20
22
  """
21
23
  Objeto para manipular a exportação de dados PDF
22
24
  """
23
25
 
24
26
  def __init__(
25
- self, *,
26
- library_pdf: LibraryPDF = LibraryPDF.FITZ,
27
- library_image: LibraryImage = LibraryImage.OPENCV,
28
- progress_bar: ProgressBarAdapter = ProgressBarAdapter(ProgressBarSimple())
27
+ self, *,
28
+ library_pdf: LibraryPDF = LibraryPDF.FITZ,
29
+ library_image: LibraryImage = LibraryImage.OPENCV,
30
+ progress_bar: ProgressBarAdapter = ProgressBarAdapter(ProgressBarSimple())
29
31
  ):
30
32
  super().__init__(library_pdf=library_pdf, library_image=library_image, progress_bar=progress_bar)
31
33
  self.num_pages: int = 0
32
34
  self.library_pdf: LibraryPDF = library_pdf
33
35
  self.library_image: LibraryImage = library_image
34
36
  self.document: DocumentPdf = DocumentPdf(self.library_pdf, progress_bar=progress_bar)
35
- self.convertPdfToImages: ConvertPdfToImage = ConvertPdfToImage(library_image=library_image)
37
+ self.convert_pdf_to_images: ConvertPdfToImage = ConvertPdfToImage(
38
+ library_image=library_image, progress_bar=progress_bar
39
+ )
36
40
 
37
41
  if self.library_pdf == LibraryPDF.CANVAS:
38
- self.imagesToPdf:ImageConvertPdf = ImageConvertPdf.create_from_canvas(self.library_image)
42
+ self.convert_images_to_pdf: ImageConvertPdf = ImageConvertPdf.create_from_canvas(self.library_image)
39
43
  elif self.library_pdf == LibraryPDF.PILPDF:
40
- self.imagesToPdf:ImageConvertPdf = ImageConvertPdf.create_from_pil(LibraryImage.PIL)
44
+ self.convert_images_to_pdf: ImageConvertPdf = ImageConvertPdf.create_from_pil(LibraryImage.PIL)
41
45
  else:
42
- self.imagesToPdf:ImageConvertPdf = ImageConvertPdf.create_from_fitz(self.library_image)
46
+ self.convert_images_to_pdf: ImageConvertPdf = ImageConvertPdf.create_from_fitz(self.library_image)
43
47
 
44
48
  @property
45
49
  def num_pages(self) -> int:
46
50
  return self.document.num_pages
47
51
 
48
52
  @num_pages.setter
49
- def num_pages(self, num:int):
53
+ def num_pages(self, num: int):
50
54
  pass
51
55
 
52
56
  @property
@@ -54,7 +58,7 @@ class PdfStream(ABCDocumentStream):
54
58
  return self.document.pages
55
59
 
56
60
  @pages.setter
57
- def pages(self, new:List[PageDocumentPdf]):
61
+ def pages(self, new: List[PageDocumentPdf]):
58
62
  if not isinstance(new, list):
59
63
  return
60
64
  self.document.clear()
@@ -67,7 +71,7 @@ class PdfStream(ABCDocumentStream):
67
71
  def clear(self):
68
72
  self.document.clear()
69
73
 
70
- def add_page(self, p:PageDocumentPdf):
74
+ def add_page(self, p: PageDocumentPdf):
71
75
  if not isinstance(p, PageDocumentPdf):
72
76
  return
73
77
  self.document.add_page(p)
@@ -77,12 +81,14 @@ class PdfStream(ABCDocumentStream):
77
81
  print(f'{__class__.__name__} Erro: Use lista de PageDocumentPdf, não {type(pages)}')
78
82
  return
79
83
  max_num: int = len(pages)
84
+ self.progress_bar.start()
80
85
  for num, p in enumerate(pages):
81
86
  self.progress_bar.update(
82
87
  ((num+1)/max_num) * 100,
83
88
  f'Adicionando página: [{num+1} de {max_num}]'
84
89
  )
85
90
  self.add_page(p)
91
+ self.progress_bar.stop()
86
92
 
87
93
  def add_page_pdf_bytes(self, bt: bytes):
88
94
  _page = PageDocumentPdf.create_from_page_bytes(bt, library=self.library_pdf)
@@ -101,110 +107,146 @@ class PdfStream(ABCDocumentStream):
101
107
  self.add_pages(doc.pages)
102
108
 
103
109
  def add_image(self, image: ImageObject):
104
- pg: PageDocumentPdf = self.imagesToPdf.from_image(image)
110
+ pg: PageDocumentPdf = self.convert_images_to_pdf.from_image(image)
105
111
  self.add_page(pg)
112
+
113
+ def add_images(self, images: List[ImageObject]):
114
+ maxnum: int = len(images)
115
+ self.progress_bar.start()
116
+ for n, img in enumerate(images):
117
+ self.progress_bar.update(
118
+ ((n+1)/maxnum) * 100,
119
+ f'Adicionando imagens ao documento: [{n+1}] de {maxnum}'
120
+ )
121
+ self.add_image(img)
122
+ self.progress_bar.stop()
106
123
 
107
124
  def to_file_pdf(self, f: File):
108
125
  if self.is_null():
109
126
  print(
110
127
  f'{__class__.__name__} Nenhuma página foi adiconada, adicione páginas ao documento para prosseguir!'
111
128
  )
112
- docpdf: DocumentPdf = DocumentPdf(self.library_pdf, progress_bar=self.progress_bar)
113
- docpdf.add_pages(self.pages)
129
+ docpdf: DocumentPdf = DocumentPdf(
130
+ self.library_pdf, progress_bar=self.progress_bar, pages=self.pages
131
+ )
114
132
  docpdf.to_file_pdf(f)
115
133
 
116
- def to_files_pdf(self, outdir: Directory, *, prefix='pag'):
134
+ def to_files_pdf(self, outdir: Directory, *, prefix='documento-pag'):
117
135
  if self.is_null():
118
136
  print(
119
- f'{__class__.__name__} Nenhuma página foi adiconada, adicione páginas ao documento para prosseguir!'
137
+ f'{__class__.__name__} Adicione páginas ao documento para prosseguir!'
120
138
  )
121
-
139
+ return
122
140
  outdir.mkdir()
123
- _document:DocumentPdf = DocumentPdf(self.library_pdf)
141
+ _document: DocumentPdf = DocumentPdf(self.library_pdf)
124
142
  for num, p in enumerate(self.pages):
125
- filename:str = f'{prefix}-{num+1}.pdf'
126
- print(f'Exportando página: {p.page_number} de {self.num_pages} | [{filename}]')
143
+ filename: str = f'{prefix}-{num+1}.pdf'
144
+ self.progress_bar.update_text(
145
+ f'Exportando página: {p.page_number} de {self.num_pages} | [{filename}]'
146
+ )
127
147
  _document.add_page(p)
128
148
  _document.to_file_pdf(outdir.join_file(filename))
129
149
  _document.clear()
130
150
 
131
- def to_files_image(self, d:Directory, *, prefix:str='página-para-imagem'):
151
+ def to_files_image(self, d: Directory, *, prefix: str = 'pdf-para-imagem'):
132
152
  """
133
153
  Exporta cada página PDF como um arquivo de imagem.
134
154
  """
135
155
  d.mkdir()
136
156
  for num, page in enumerate(self.pages):
137
157
  filename = f'{prefix}-{page.page_number}.png'
138
- img = self.convertPdfToImages.from_page_pdf(page)
139
- print(f'Exportando página PDF para imagem: [{num+1} de {self.num_pages}] {filename}')
158
+ img = self.convert_pdf_to_images.from_page_pdf(page)
159
+ self.progress_bar.update_text(
160
+ f'Exportando página PDF para imagem: [{num+1} de {self.num_pages}] {filename}'
161
+ )
140
162
  img.to_file(d.join_file(filename))
141
163
 
142
164
  def to_images(self) -> List[ImageObject]:
143
- images_obj:List[ImageObject] = []
165
+ images_obj: List[ImageObject] = []
144
166
  for page in self.pages:
145
- images_obj.append(self.convertPdfToImages.from_page_pdf(page))
167
+ _image: ImageObject = self.convert_pdf_to_images.from_page_pdf(page)
168
+ images_obj.append(_image)
146
169
  return images_obj
147
170
 
148
171
  def to_document(self) -> DocumentPdf:
149
- doc = DocumentPdf(self.library_pdf)
150
- doc.add_pages(self.pages)
151
- return doc
172
+ return DocumentPdf(
173
+ self.library_pdf, progress_bar=self.progress_bar, pages=self.pages
174
+ )
152
175
 
153
176
  def inner_images(self) -> List[ImageObject]:
154
- inner_images:List[ImageObject] = []
155
- for p in self.pages:
156
- inner_images.extend(
157
- self.convertPdfToImages.inner_images(p.to_bytes())
177
+ inner_images: List[ImageObject] = []
178
+ for num, p in enumerate(self.pages):
179
+ self.progress_bar.update(
180
+ ((num+1)/self.num_pages) * 100,
181
+ f'Convertendo página [{num+1} de {self.num_pages}]'
158
182
  )
183
+ imgs: List[ImageObject] = self.convert_pdf_to_images.inner_images(p.to_bytes())
184
+ inner_images.extend(imgs)
159
185
  return inner_images
160
186
 
161
- def inner_images_to_files(self, d:Directory, prefix:str='página-para-imagens') -> None:
187
+ def inner_images_to_files(self, d: Directory, prefix: str = 'página-para-imagens') -> None:
162
188
  """
163
- Salva todas as imagens presentes nas páginas em arquivos de imagem.
189
+ Salva todas as imagens presentes nas páginas PDF, em arquivos de imagem.
164
190
  """
165
- outdir = d #.concat(f'{num+1}')
166
- outdir.mkdir()
191
+ d.mkdir()
167
192
  for num, page in enumerate(self.pages):
168
- images = self.convertPdfToImages.inner_images(page.to_bytes())
193
+ images = self.convert_pdf_to_images.inner_images(page.to_bytes())
169
194
  if len(images) < 1:
170
195
  continue
171
196
  for n, img in enumerate(images):
172
197
  filename = f'{prefix}-{page.page_number}-img-{n+1}.png'
173
- img.to_file(outdir.join_file(filename))
198
+ img.to_file(d.join_file(filename))
174
199
 
175
200
  def set_paisagem(self):
176
201
  for page in self.pages:
177
202
  page.set_paisagem()
178
-
203
+
204
+
179
205
  #==================================================================#
180
206
  # Imagens
181
207
  #==================================================================#
182
208
 
183
209
  class ImageStream(object):
184
- def __init__(self, *, library_image=LibraryImage.OPENCV, library_pdf=LibraryPDF.PILPDF):
185
- self.__images:List[ImageObject] = []
186
- self.num_images:int = len(self.__images)
187
- self.library_image:LibraryImage = library_image
188
- self.library_pdf:LibraryPDF = library_pdf
210
+ def __init__(
211
+ self, *,
212
+ library_image: LibraryImage = LibraryImage.OPENCV,
213
+ library_pdf: LibraryPDF = LibraryPDF.PILPDF,
214
+ progress_bar: ProgressBarAdapter = ProgressBarAdapter(ProgressBarSimple()),
215
+ ):
216
+ self.__images: List[ImageObject] = []
217
+ self.num_images: int = len(self.__images)
218
+ #self.progress_bar: ProgressBarAdapter = progress_bar
219
+ self.library_image: LibraryImage = library_image
220
+ self.library_pdf: LibraryPDF = library_pdf
221
+
189
222
  # Objeto para converter IMAGEM em pdf.
190
223
  if library_pdf == LibraryPDF.FITZ:
191
- self.convertImagesToPdf:ImageConvertPdf = ImageConvertPdf.create_from_fitz(library_image)
224
+ self.convert_image_to_pdf: ImageConvertPdf = ImageConvertPdf.create_from_fitz(library_image)
192
225
  elif library_pdf == LibraryPDF.CANVAS:
193
- self.convertImagesToPdf:ImageConvertPdf = ImageConvertPdf.create_from_canvas(library_image)
226
+ self.convert_image_to_pdf: ImageConvertPdf = ImageConvertPdf.create_from_canvas(library_image)
194
227
  elif library_pdf == LibraryPDF.PILPDF:
195
- self.convertImagesToPdf:ImageConvertPdf = ImageConvertPdf.create_from_pil(library_image)
228
+ self.convert_image_to_pdf: ImageConvertPdf = ImageConvertPdf.create_from_pil(library_image)
229
+ else:
230
+ raise ValueError(f'PYPDF não pode converter imagens em PDF!!')
196
231
 
197
232
  # Objeto para converter PDF em imagem
198
- self.convertPdfToImages:ConvertPdfToImage = ConvertPdfToImage(
199
- library_pdf=LibraryPDF.FITZ, library_image=library_image, dpi=200,
233
+ self.convert_pdf_to_images: ConvertPdfToImage = ConvertPdfToImage(
234
+ library_pdf=LibraryPDF.FITZ,
235
+ library_image=library_image,
236
+ dpi=150,
237
+ progress_bar=progress_bar,
200
238
  )
239
+
240
+ @property
241
+ def progress_bar(self) -> ProgressBarAdapter:
242
+ return self.convert_pdf_to_images.pbar
201
243
 
202
244
  @property
203
245
  def images(self) -> List[ImageObject]:
204
246
  return self.__images
205
247
 
206
248
  @images.setter
207
- def images(self, imgs:List[ImageObject]) -> None:
249
+ def images(self, imgs: List[ImageObject]) -> None:
208
250
  if not isinstance(imgs, list):
209
251
  print(f'Erro: Use: list() não {type(imgs)}')
210
252
  return
@@ -212,23 +254,36 @@ class ImageStream(object):
212
254
  for img in imgs:
213
255
  self.add_image(img)
214
256
 
215
- def add_image(self, img:ImageObject) -> None:
257
+ def add_image(self, img: ImageObject) -> None:
216
258
  if not isinstance(img, ImageObject):
217
259
  return
218
- print(f'{__class__.__name__} Adicionando imagem {self.num_images+1}')
219
260
  self.__images.append(img)
220
261
  self.num_images += 1
221
262
 
222
- def add_images(self, images:List[ImageObject]):
223
- for i in images:
263
+ def add_images(self, images: List[ImageObject]):
264
+ maxnum: int = len(images)
265
+ self.progress_bar.start()
266
+ for num, i in enumerate(images):
267
+ self.progress_bar.update(
268
+ ((num+1)/maxnum) * 100,
269
+ f'Adicionando imagens: [{num+1} de {maxnum}]'
270
+ )
224
271
  self.add_image(i)
272
+ self.progress_bar.stop()
225
273
 
226
- def add_file_image(self, f:File):
274
+ def add_file_image(self, f: File):
227
275
  img = ImageObject.create_from_file(f, library=self.library_image)
228
276
  self.add_image(img)
229
277
 
230
- def add_files_image(self, files:List[File]):
231
- for f in files:
278
+ def add_files_image(self, files: List[File]):
279
+ maxnum: int = len(files)
280
+ for num, f in enumerate(files):
281
+ p = ((num + 1) / maxnum) * 100
282
+ #print(p)
283
+ self.progress_bar.update(
284
+ p,
285
+ f'Adicionando arquivos: [{num + 1} de {maxnum}]'
286
+ )
232
287
  self.add_file_image(f)
233
288
 
234
289
  def is_null(self) -> bool:
@@ -240,20 +295,32 @@ class ImageStream(object):
240
295
  self.__images.clear()
241
296
  self.num_images = 0
242
297
 
243
- def to_files_image(self, d:Directory, prefix:str='imagem'):
298
+ def to_files_image(self, d: Directory, prefix: str = 'imagem'):
244
299
  d.mkdir()
300
+ self.progress_bar.start()
245
301
  for num, image in enumerate(self.images):
246
302
  filename = f'{prefix}-{num+1}.png'
247
- print(f'Exportando imagem: {num+1} de {self.num_images} [{filename}]')
303
+ self.progress_bar.update(
304
+ ((num+1)/self.num_images) * 100,
305
+ f'Exportando imagem: {num+1} de {self.num_images} [{filename}]'
306
+ )
248
307
  image.to_file(d.join_file(filename))
308
+ self.progress_bar.stop()
249
309
 
250
310
  def to_pages_pdf(self) -> List[PageDocumentPdf]:
251
311
  if self.is_null():
252
312
  print(f'{__class__.__name__} Adicione imagens para prosseguir!')
253
313
  return []
254
314
  new_pages = []
255
- for image in self.images:
256
- new_pages.append(self.convertImagesToPdf.from_image(image))
315
+ maxnum: int = len(self.images)
316
+ self.progress_bar.start()
317
+ for num, image in enumerate(self.images):
318
+ self.progress_bar.update(
319
+ ((num + 1) / maxnum) * 100,
320
+ f'Adicionando imagens: [{num + 1} de {maxnum}]'
321
+ )
322
+ new_pages.append(self.convert_image_to_pdf.from_image(image))
323
+ self.progress_bar.stop()
257
324
  return new_pages
258
325
 
259
326
  def set_paisagem(self):
@@ -281,15 +348,15 @@ class ImageStream(object):
281
348
  self.images[num].set_optimize()
282
349
 
283
350
 
284
- def get_data_from_pdfs(*, files_pdf:List[File]) -> pandas.DataFrame:
351
+ def get_data_from_pdfs(*, files_pdf: List[File]) -> pandas.DataFrame:
285
352
  """
286
353
  Recebe uma lista de arquivos PDF e retorna um DataFrame com os dados das cartas.
287
354
  """
288
355
  if not isinstance(files_pdf, list):
289
356
  raise ValueError(f'Erro: Use: list() não {type(files_pdf)}')
290
357
 
291
- data:List[pandas.DataFrame] = []
292
- values:List[str] = []
358
+ data: List[pandas.DataFrame] = []
359
+ values: List[str] = []
293
360
  doc = DocumentPdf()
294
361
  for file in files_pdf:
295
362
  doc.add_file_pdf(file)