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

Как изменить тип изображении для выполнения конвертации в .pdf, встретился с такой проблемой что работаю с типом .tif, а пакет img2pdf умеет только .tiff, решил подключить PIL, но не смог разобраться как исполнить там

import sys
import os
import ui_window
from pathlib import Path
import PIL
from PIL import Image
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:
        return

    imgs = []
    for fname in os.listdir(self.directory):
        if not fname.endswith(".tiff"):
            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_())

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

Автор решения: Rishat Mukhtarov

Проблема была в положении элементов скрипта, стоило поправить детали и вуаля

    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))
→ Ссылка