На создании PDF Fly PDF с 16-битной глубиной цветной поддержки PNG в PHP

StackOverflow https://stackoverflow.com/questions/2388282

Вопрос

Я пытаюсь создать PDF-документы на лету в приложении, то есть пользователю нажимает на ссылку, а документ PDF отображается им с некоторым текстом и некоторыми изображениями.

В настоящее время я использую FPDF V1.6 (http://www.fpdf.org/) который поддерживает 24бит (истинный цвет) PNG, но проблема, в которой у меня есть, это то, что это устаревшее приложение, и есть 1000 из PNG, которые имеют 16-битную глубину цвета, которую FPDF не поддерживает и не могу просто преобразовать из-за других частей Приложение с использованием этих изображений.

Единственные решения, которые я вижу:

  1. Преобразуйте 16-битное изображение PNG на лету и встроить это в PDF.
  2. Найдите новый класс класса PDF, который примет 16-битную глубину цвета PNG.

У кого-нибудь есть идеи?

Это было полезно?

Решение

Может быть, вы могли бы попробовать использовать TCPDF. (Никогда не использовал его с 16-битными PNGS, но его следует легко проверить).

Другие советы

Исправлено это в Python:

def fix_16_bit_depth_not_supported(raw_image_path):
    """
    fix
    RuntimeError: FPDF error: 16-bit depth not supported: test.png
    """
    new_file, filename = tempfile.mkstemp(suffix='.png')
    os.close(new_file)
    i = cv2.imread(raw_image_path, cv2.IMREAD_UNCHANGED)
    img = np.array(i, dtype=np.float32)
    convert = img / 255.
    cv2.imwrite(filename, convert)
    return filename
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top