Frage

Ich versuche, PDF -Dokumente im laufenden Fliegen in einer Anwendung zu erstellen, dh ein Benutzer klickt auf einen Link, und ein PDF -Dokument wird ihm mit einigen Text und einigen Bildern angezeigt.

Ich verwende derzeit FPDF v1.6 (http://www.fpdf.org/) Das stützt 24 -Bit -PNG (True Color) PNG, aber das Problem, das ich habe, ist, dass dies eine ältere Anwendung ist und es 1000 von PNGs mit 16 -Bit -Farbtiefe gibt, die FPDF nicht unterstützt, und ich kann aufgrund anderer Teile der Anwendung mit diesen Bildern.

Die einzigen Lösungen, die ich sehe, sind:

  1. Konvertieren Sie das 16 -Bit -PNG -Bild und einbetten Sie das in die PDF ein.
  2. Finden Sie eine neue PDF -Klasse der Klasse, die 16 -Bit -Farbtiefe PNGs akzeptiert.

Hat jemand irgendwelche Ideen?

War es hilfreich?

Lösung

Vielleicht könnten Sie versuchen, es zu verwenden TCPDF (Ich habe es nie mit 16 -Bit -PNGs verwendet, aber es sollte einfach sein, es zu testen).

Andere Tipps

Damit in Python behoben:

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top