Wir implementieren PDFJS, um PDF-Dateien auf einer Website zu rendern.PDFJS und PDF-Codierung
Beim Versuch, ein PDFDocument/Viewer als ArrayBuffer zu initiieren, erhalten wir alle Arten von Fehlern und die Datei wird nicht gerendert. Beim Öffnen der gleichen Datei im Viewer von URL (DEFAULT_URL-Variable), die Datei gerendert fein.
Es gibt jedoch einige Dateien, die als Streams rendern. Wenn Sie diese Dateien im Editor vergleichen, werden sie unterschiedlich codiert.
Dieses Stück Code wird verwendet, um die Datei im Viewer zu öffnen:
function rawStringToBuffer(str) {
var idx, len = str.length, arr = new Array(len);
for (idx = 0 ; idx < len ; ++idx) {
arr[ idx ] = str.charCodeAt(idx) & 0xFF;
}
return new Uint8Array(arr).buffer;
}
function readSingleFile(e) {
var file = e.target.files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.onload = function(e) {
var contents = e.target.result;
var uint8array = rawStringToBuffer(contents);
pdfjsframe.contentWindow.PDFViewerApplication.open(uint8array,0);
};
reader.readAsText(file);
}
test.pdf Hello World pdf, die mit dem Code nicht oben wiedergegeben wird.
test2.pdf Hello World pdf, die oben mit Code gerendert wird.
Das Verhalten ist nicht Browser abhängig. Der Build ist b15f335.
Gibt es etwas mit dem Code oder der Standardkonfiguration des Viewers, sodass test.pdf vom Viewer nicht gerendert werden kann?
Was ist die Frage, die Sie hier gefragt werden? – psmears
Ich habe eine Frage hinzugefügt ;-) – Steffe
Versuchen Sie diese (http://html2pdf.fr/en/default) – Mad