Как реализовать работу с нестандартными разрешением изображения?

Как можно реализовать работы при нестандартном формате?

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 постранично?


Ответы (0 шт):