Na criação de PDF de mosca com suporte de png de profundidade de cor de 16 bits no PHP

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

Pergunta

Estou tentando criar documentos em PDF rapidamente em um aplicativo, ou seja, um usuário clica em um link e um documento PDF é exibido para eles com algum texto e algumas imagens.

Atualmente estou usando FPDF v1.6 (http://www.fpdf.org/) que suporta PNGs de 24 bits (True Color), mas o problema que tenho é que este é um aplicativo herdado e há 1000 de PNG que são de profundidade de cor de 16 bits que o FPDF não suporta e eu não posso simplesmente converter devido a outras partes do aplicativo usando essas imagens.

As únicas soluções que vejo são:

  1. Converta a imagem PNG de 16 bits em tempo real e incorpore -a ao PDF.
  2. Encontre uma nova classe PDF que aceite PNG de profundidade de cor de 16 bits.

Alguém tem alguma ideia?

Foi útil?

Solução

Talvez você possa tentar usar Tcpdf (nunca o usei com PNGs de 16 bits, mas deve ser fácil testá -lo).

Outras dicas

Corrigido com isso em 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top