Serverseitige Dokumentenrenderung
Definition
Umwandlung eines Dokuments in Seitenbilder auf dem Server, sodass der Browser gerenderte Seiten anzeigt, anstatt die Originaldatei selbst zu parsen.
Die Alternative — clientseitiges Rendering — liefert eine Parsing-Engine an den Browser und übergibt ihm die Datei. Das funktioniert für PDF akzeptabel und für alles andere schlecht, weil das Schreiben eines browserbasierten Renderers für DOCX, XLSX, DWG und MSG ein Jahrzehnt Arbeit ist, das niemand zweimal finanzieren möchte.
Serverseitiges Rendering kehrt die Eigenschaften um. Die Formatabdeckung wird zu einem serverseitigen Bibliotheksproblem statt zu einem JavaScript-Bundle-Problem. Der Client bleibt schlank, unabhängig davon, wie komplex das Dokument ist. Und die Originalbytes erreichen den Browser nie, was bedeutet, dass das Betrachten eines Dokuments und dessen Besitz nicht mehr dieselbe Handlung sind.
Die Kosten sind real und erwähnenswert: Rendering verbraucht CPU und Speicher auf Ihren Servern, und Seiten müssen als Bilder über das Netzwerk übertragen werden. In der Praxis wird die Belastung eher durch die Komplexität der Seiten als durch die Dokumentlänge bestimmt, da Seiten bei Bedarf und nicht alle auf einmal gerendert werden.
In Doconut
Jedes Format durchläuft denselben Pfad. Viewer.OpenDocumentAsync() rastert Seiten serverseitig und gibt ein undurchsichtiges Token zurück; das JavaScript-Widget fordert dann Seiten über das Token an. Der Browser erhält das Quell-Dokument nie.
Verwandte Begriffe
Document viewer SDK
Eine Bibliothek, die Sie in Ihre eigene Anwendung einbetten, damit sie Dokumente anzeigen kann, im Gegensatz zu einem gehosteten Service, zu dem Sie Dokumente hochladen. Das SDK läuft in Ihrem Prozess; der Service läuft im Prozess eines Dritten.
Textebene
Der maschinenlesbare Text, der in einem Dokument neben seiner visuellen Darstellung gespeichert ist. Er ermöglicht Suche und Textauswahl und ist genau das, was eine gescannte Seite nicht hat.
Undurchsichtiger Session-Token
Ein Bezeichner, der für denjenigen, der ihn hält, keine Bedeutung hat — er verweist auf serverseitigen Zustand, anstatt ihn zu beschreiben, sodass ein Client ihn nicht lesen, ändern oder einen benachbarten Wert erraten kann.