Dokumentation

Barrierefreiheit

jasy kann ein getaggtes PDF mit vollständigem Structure Tree erzeugen, damit Screenreader das Dokument in der richtigen Reihenfolge vorlesen, Überschriften ansagen und Bilder beschreiben. Das Ergebnis ist PDF/UA-1 und besteht die Konformitätsprüfung von veraPDF. @react-pdf/renderer erzeugt ungetaggte PDFs, das ist also ein echtes Alleinstellungsmerkmal von jasy.

Einschalten

Übergeben Sie accessible an renderToBytes (oder renderPdf). Ergänzen Sie lang und title - beides gehört zum Standard, und ein Titel ist für volle Konformität Pflicht.

import { Document, Page, Text, renderToBytes } from "@jasy/pdf";

const doc = Document([
  Page([
    Text("Quarterly Report", { role: "h1", size: 24, bold: true }),
    Text("Revenue grew across every region this quarter."),
  ]),
]);

const bytes = await renderToBytes(doc, {
  accessible: true,
  lang: "en-US",
  title: "Quarterly Report",
});

Sagen, was etwas ist

Den Structure Tree baut die Engine; Ihre Komponenten geben nur ihre Rolle an.

  • Überschriften und Absätze - Text({ role }), wobei role "h1" bis "h6" oder "p" ist.
  • Bilder - Image({ alt }) gibt der Figure ihren Alt-Text.
  • Tabellen - eine Table wird automatisch getaggt (Table, Rows, Header- und Data-Cells), ohne zusätzliche Arbeit.
  • Dekoration - alles ohne Rolle wird als Artifact markiert, Screenreader überspringen es also.
Text("Section title", { role: "h2" });
Image("chart.png", { alt: "Revenue by region, Q3" });

Gut zu wissen

  • Geprüft, nicht behauptet. Die Ausgabe wird mit veraPDF gegen PDF/UA-1 geprüft; ein geteilter Absatz oder eine Tabelle über mehrere Seiten bleibt im Structure Tree ein logisches Element.
  • Volle Konformität braucht eingebettete Schriften und einen Titel - dieselbe Regel wie bei PDF/A. Nehmen Sie eine eigene TrueType-Schrift (siehe Schriften) und übergeben Sie einen title.
  • Standardmäßig aus, ohne Kosten. Ohne accessible sind die Bytes dieselben wie zuvor - das Tagging fügt nichts hinzu, bis Sie danach fragen.
  • Auch in Vue, React und Nuxt. Übergeben Sie dieselben Optionen über renderToPdf / renderOptions.