PDF Inline anzeigen [Erledigt]
PDF Inline anzeigen [Erledigt]
Liebe Community,
ich versuche ein PDF File, welches im Matrix42 System abgelegt und gespeichert ist über ein <IFrame> oder <object/embed> anzeigen zu lassen, ohne es vorher woanders lokal oder auf dem Server zwischenspechern zu müssen.
/* Beispieldatei */
<html>
<head>
</head>
<body>
<embed width="800px" height="400px" type="application/pdf" data="https://server/sps/Forms/AttachmentHand ... d506343cc7">
</embed>
<embed width="800px" height="400px" type="image/gif" src="https://server/sps/Forms/AttachmentHand ... 5bac86b3fb" ></embed>
</body>
</html>
Über den AttachmentHandler kann ich die Datei mit Hilfe der FileID und ObjectId + TypeID aufrufen. Jedoch gibt der RespondHeader den Content-Disposition als Attachment zurück - d.h. die Datei wird lokal heruntergeladen. Ich bräuchte jedoch die Datei eingebunden. Mit GIFs geht es leider auch so. Das Embed-Element jedoch bleibt leer.
Gibt es ggf. noch einen optionalen Paramenter wie "Embed=true" oder hat jemand eine andere Lösung?
Vielen Dank.
ich versuche ein PDF File, welches im Matrix42 System abgelegt und gespeichert ist über ein <IFrame> oder <object/embed> anzeigen zu lassen, ohne es vorher woanders lokal oder auf dem Server zwischenspechern zu müssen.
/* Beispieldatei */
<html>
<head>
</head>
<body>
<embed width="800px" height="400px" type="application/pdf" data="https://server/sps/Forms/AttachmentHand ... d506343cc7">
</embed>
<embed width="800px" height="400px" type="image/gif" src="https://server/sps/Forms/AttachmentHand ... 5bac86b3fb" ></embed>
</body>
</html>
Über den AttachmentHandler kann ich die Datei mit Hilfe der FileID und ObjectId + TypeID aufrufen. Jedoch gibt der RespondHeader den Content-Disposition als Attachment zurück - d.h. die Datei wird lokal heruntergeladen. Ich bräuchte jedoch die Datei eingebunden. Mit GIFs geht es leider auch so. Das Embed-Element jedoch bleibt leer.
Gibt es ggf. noch einen optionalen Paramenter wie "Embed=true" oder hat jemand eine andere Lösung?
Vielen Dank.
Last edited by Steinbit on 17. Jan 2020, 15:06, edited 1 time in total.
Re: PDF Inline anzeigen
Hast du es mal mit <object type="application/pdf" data="..."> statt <embed> versucht?
Tria-media - IT Solutions
Re: PDF Inline anzeigen
Nachtrag: Was mir zu dem Thema aufgefallen war. Wenn man die Daten via data="" als Base64 Code mitgibt, ist man in der Dateigröße des PDFs eingeschränkt. Bei Dateien mit mehr als 3-4mb wird der Parameter zu lang und kann im Hintergrund nicht mehr an die Webservices in der URL übergeben werden.0
Ich bin dann auf eine Lösung mit https://mozilla.github.io/pdf.js/ gegangen, um einen Dateilink an einen PDF Renderer zu übergeben, der dieses dann wiederum auf ein Canvas Objekt in einem HTML Element rendert.
Ich bin dann auf eine Lösung mit https://mozilla.github.io/pdf.js/ gegangen, um einen Dateilink an einen PDF Renderer zu übergeben, der dieses dann wiederum auf ein Canvas Objekt in einem HTML Element rendert.
Tria-media - IT Solutions
Re: PDF Inline anzeigen [Erledigt]
Hallo Zusammen,
ich konnte nach einiger Zeit eine Lösung erarbeiten, ohne ein Zusatzaddon oder Veränderungen am System funktioniert.
var server = window.location.hostname;
var fileId = 'YourFileGUID'
var xhr = new XMLHttpRequest();
// load `document` from `cache`
xhr.open('GET', 'https://' + server + '/m42Services/api/filestorage/' + fileId + '/', true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status === 200) {
// `blob` response
var blob = new Blob([this['response']], {type: 'application/pdf'});
var file = window.URL.createObjectURL(blob);
document.querySelector('iframe').src = file;
}
};
xhr.send();
ich konnte nach einiger Zeit eine Lösung erarbeiten, ohne ein Zusatzaddon oder Veränderungen am System funktioniert.
var server = window.location.hostname;
var fileId = 'YourFileGUID'
var xhr = new XMLHttpRequest();
// load `document` from `cache`
xhr.open('GET', 'https://' + server + '/m42Services/api/filestorage/' + fileId + '/', true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status === 200) {
// `blob` response
var blob = new Blob([this['response']], {type: 'application/pdf'});
var file = window.URL.createObjectURL(blob);
document.querySelector('iframe').src = file;
}
};
xhr.send();
-
- Posts: 4
- Joined: 14. Dec 2021, 23:13
- Contact:
Re: PDF Inline anzeigen [Erledigt]
Hallo @Steinbit,
könntest du bitte ein wenig näher erläutern, wie deine Lösung einzubinden ist?
Vielen Dank!
könntest du bitte ein wenig näher erläutern, wie deine Lösung einzubinden ist?
Vielen Dank!
Re: PDF Inline anzeigen [Erledigt]
Mit dem letzten Update hat Matrix einen Inline Reader eingebaut, der PDFs in einem neuen Tab direkt aus der Datenbank anzeigt.HenningBressem wrote: ↑18. Nov 2022, 16:19 Hallo @Steinbit,
könntest du bitte ein wenig näher erläutern, wie deine Lösung einzubinden ist?
Vielen Dank!
-
- Posts: 4
- Joined: 14. Dec 2021, 23:13
- Contact:
Re: PDF Inline anzeigen [Erledigt]
Das hört sich spannend an, von welcher Version genau sprichst du bitte, nur zur Sicherheit ?
Viele Grüße.
Viele Grüße.
Re: PDF Inline anzeigen [Erledigt]
Das ist Version 11.0.2 und wird hier auch gezeigt:HenningBressem wrote: ↑21. Nov 2022, 11:05 Das hört sich spannend an, von welcher Version genau sprichst du bitte, nur zur Sicherheit ?
Viele Grüße.
https://youtu.be/At2K6RRDQaY?t=319
-
- Posts: 4
- Joined: 14. Dec 2021, 23:13
- Contact:
Re: PDF Inline anzeigen [Erledigt]
Hängt diese Funktion zufällig an der DWP Lizenz?
Who is online
Users browsing this forum: No registered users and 12 guests