Sobre la creación de PDF de Fly con soporte de PNG de profundidad de color de 16 bits en PHP

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

Pregunta

Estoy tratando de crear documentos PDF en la marcha en una aplicación, es decir, un usuario hace clic en un enlace y se les muestra un documento PDF con algún texto y algunas imágenes.

Actualmente estoy usando FPDF V1.6 (http://www.fpdf.org/) que admite PNG de 24 bits (verdadero color), pero el problema que tengo es que esta es una aplicación heredada y hay 1000 de PNG de profundidad de color de 16 bits que FPDF no admite y no puedo simplemente convertirme debido a otras partes de las aplicación usando estas imágenes.

Las únicas soluciones que veo son:

  1. Convierta la imagen PNG de 16 bits sobre la mosca e inscríbela en el PDF.
  2. Encuentre una nueva clase de clase PDF que aceptará PNG de profundidad de color de 16 bits.

¿Alguien tiene alguna idea?

¿Fue útil?

Solución

Tal vez podrías intentar usar TCPDF (Nunca lo usé con PNG de 16 bits, pero debería ser fácil de probarlo).

Otros consejos

Arreglado con esto en 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top