Na criação de PDF de mosca com suporte de png de profundidade de cor de 16 bits no PHP
-
24-09-2019 - |
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:
- Converta a imagem PNG de 16 bits em tempo real e incorpore -a ao PDF.
- Encontre uma nova classe PDF que aceite PNG de profundidade de cor de 16 bits.
Alguém tem alguma ideia?
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