Vorbedingungen

Was die Hostanwendung einmal einrichten muss, bevor das erste Beispiel läuft. Fehlt davon etwas, erscheint meist keine Fehlermeldung.

Das Paket braucht keine eigene Registrierung. Das Skript des Viewers kommt als ES-Modul über den Modulkatalog, und die Dokumente liefert die Anwendung selbst aus. Fehlt davon etwas, bleibt der Viewer leer oder der Dialog öffnet sich nicht.

Setzt die Grundeinrichtung aus Basis › Vorbedingungen voraus.

Für DocumentViewer und DialogDocumentViewer

Was Wo Fehlt es
Paket FMH.Komponente.PDFViewer .csproj Die Infrastruktur kommt transitiv mit
Grundeinrichtung aus Basis › Vorbedingungen Program.cs, _Layout.cshtml fehlen das Modul documentviewer.js und die Stile des Viewers. Die HeadIncludes laden jQuery und Bootstrap vor dem Modul, ohne sie scheitert der Dialog
Die Dokumente unter einer Adresse, die der Browser abrufen kann statische Dateien oder eigener Endpunkt bleibt der Viewer leer
Die Dateitypen .bcmap und .icc in UseStaticFiles Program.cs liefert der Server die Zeichensatztabellen und Farbprofile von pdf.js mit 404 aus. PDFs, die sie brauchen, etwa mit asiatischen Zeichensätzen oder Farbprofilen, werden dann unvollständig dargestellt
// pdf.js lädt Zeichensatztabellen und Farbprofile nach, beide Endungen kennt UseStaticFiles nicht.
var inhaltstypen = new FileExtensionContentTypeProvider();
inhaltstypen.Mappings[".bcmap"] = "application/octet-stream";
inhaltstypen.Mappings[".icc"] = "application/vnd.iccprofile";

app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = inhaltstypen });

Zusätzlich für DialogDocumentViewer

  • @Html.Fmh(Fmh.DialogDokumentViewer()) einmal je Seite, ausserhalb jedes <form>, am besten im Layout. Ohne das Markup des Dialogs gibt es keine Vorschau: Die Links mit data-siwf-documentviewer-type bleiben gewöhnliche Links, und der Browser lädt das Dokument herunter.

Je Seite gibt es nur einen Viewer, die Ids sind fest. Das ist eine Einschränkung des Bausteins und steht in der Anleitung von DocumentViewer.