Почему, если я извлекаю изображение JPG из PDF с помощью палочки, это превращает меня в черный фон над текстом - PullRequest
1 голос
/ 22 апреля 2019

У меня проблема с некоторыми PDF-файлами. Мне нужно конвертировать их в изображения jpg, чтобы они были доступны для распознавания текста, но когда я конвертирую некоторые из них, Wand превращает меня в jpg, где над текстом находится черный фон. Я видел, что это общая проблема с космическими цветами. Кажется, это происходит с файлами word, преобразованными в файлы pdf, где цвета пространства стали CMYK. Тессеракт OCR принимает только космический цвет RGB. Я уже написал скрипт на Python, который конвертируется, но я бы хотел решить эту проблему. Не могли бы вы помочь мне? Благодарю. Original page pdf Исходная страница pdf Converted page pdf to jpg Преобразование PDF в JPG

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Решение состоит в том, чтобы установить их перед вызовом save:

page = wi(image=img)

page.background_color = Color('white')
page.alpha_channel = 'remove'

page.save(...)

Благодаря this Ответ переполнения стека.

0 голосов
/ 23 апреля 2019

Это мой код:

def convert_pdf(pdf_file):

    # Get name file
    title = os.path.splitext(os.path.basename(pdf_file))[0]
    basename = os.path.basename(pdf_file)
    pdf = wi(filename=pdf_file, resolution=100)
    pdfImage = pdf.convert("jpg")
    outputPath = PATH_IMAGES+"/" + basename
    if not os.path.exists(outputPath):
        os.mkdir(outputPath)

    i=1
    for img in pdfImage.sequence:
        page = wi(image=img)
        page.save(filename=outputPath+"/"+title+"(*page="+str(i)+"*)"+".jpg")
        imagePathConverted = outputPath+"/"+title+"(*page="+str(i)+"*)"+".jpg"
        '''image = Image.open(imagePathConverted)

        if image.mode != 'RGB':
            rgb_image = image.convert('RGB')
            rgb_image.save(imagePathConverted)'''
        i += 1

    return outputPath
...