Die Python-Datei des Beispiels „Das eingebettete ICC-Profil“.
Das ICC-Profil, das die Bibliothek in eine PDF/A-Datei einbettet.
Python
36 Zeilen
Wofür dieses Beispiel da ist
Dieser Eintrag ist ein Download, keine Seite zum Ansehen. Eine zur Archivierung bestimmte Datei muss ein Farbprofil tragen, das das Gerät beschreibt, für das ihre Farben bestimmt sind, und die übliche Antwort ist, das eines anderen mitzuliefern: hundert Kilobyte oder mehr, mit einer angehängten Lizenz, in jedes Dokument kopiert, das Sie je erzeugen.
Was dieses Beispiel zeigt
Ein vollständiges sRGB-Profil, von der Bibliothek erzeugt, nicht mit ihr ausgeliefert.
Das Profil, das jede PDF/A-Datei erhält, wenn keines genannt wird.
Ein Download statt einer Seite: Untersuchen Sie ihn mit Spezialsoftware. Allein die Bibliothek schreibt ihn, und keine Anfrage an den Server liefert ihn zurück.
"""Writes the ICC profile the library embeds in a PDF/A file.The Python twin of the `write_icc` example in Rust: the same bytes, through thebinding rather than through the library directly.The profile is built from the colorimetry sRGB is defined by rather thanshipped as a file, so what a document embeds can be looked at on its own —whether it is a well-formed ICC profile, and whether it is really sRGB, is what`scripts/check_icc_profile.py` uses this for.Usage: python examples/write_icc.py [out.icc]"""from__future__importannotationsimportsysfrompathlibimportPathimporthqf_pdfROOT=Path(__file__).resolve().parents[3]defmain()->None:out=Path(sys.argv[1])iflen(sys.argv)>1elseROOT/"tmp"/"srgb.icc"profile=hqf_pdf.srgb_icc_profile()out.parent.mkdir(parents=True,exist_ok=True)out.write_bytes(profile)print(f"wrote {out}: {len(profile)} bytes")if__name__=="__main__":main()