Как реализовать работу с нестандартными разрешением изображения?
Как можно реализовать работы при нестандартном формате?
import sys
import os
import ui_window
from pathlib import Path
import img2pdf
from PyQt5 import QtWidgets
from PyQt5.Qt import *
class Convert_App(QtWidgets.QMainWindow, ui_window.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.directory = None
self.btn_choose.clicked.connect(self.choose)
self.btn_convert.clicked.connect(self.convert)
def choose(self):
self.listWidget.clear()
self.directory = QtWidgets.QFileDialog.getExistingDirectory(
self,
"Выберите папку для сканирования:"
)
if self.directory:
for file_name in os.listdir(self.directory):
self.listWidget.addItem(file_name)
def convert(self):
if not self.directory:
msg = QMessageBox.information(
self,
'Внимание',
'Выберите пожалуйста каталог.'
)
return
imgs = []
for fname in os.listdir(self.directory):
if not fname.endswith(".tif"):
continue
path = os.path.join(self.directory, fname)
if os.path.isdir(path):
continue
imgs.append(path)
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
fileName, _ = QFileDialog.getSaveFileName(
self,
"Выберите путь и имя файла для сохранения.",
"",
"PDF Files (*.pdf)",
options=options
)
if not fileName:
fileName = "converted_images.pdf"
if not Path(fileName).suffix == '.pdf':
fileName = f'{fileName}.pdf'
with open(fileName, "wb") as f:
f.write(img2pdf.convert(imgs))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = Convert_App()
w.show()
sys.exit(app.exec_())
Скрипт позволяет конвертировать изображения данного типа в файл pdf, и делать это пакетами, но только с файлами стандартных форматов.
При попытке прогнать изображение нестандартного разрешения программа ложится
Process finished with exit code -1073740791 (0xC0000409)
можно ли сделать так, чтобы при конвертации изображение расчленялось и ее части располагались в pdf постранично?