Skip to content
Code-Schnipsel Gruppen Projekte
Commit 1a6acc8d erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

Merge branch 'next-3.x' into 'main'

fix: erp pdf view - all pages

See merge request !158
Übergeordnete 7fb6debe bdf3b9ca
No related branches found
Tags 3.9.1
2 Merge Requests!158fix: erp pdf view - all pages,!140Update 'next-4.x' with latest changes from 'main'
Pipeline #12599 mit Warnungen bestanden mit Phase
in 41 Sekunden
......@@ -601,6 +601,7 @@ define('package/quiqqer/erp/bin/backend/controls/OutputDialog', [
const PreviewContent = this.getContent().getElement('.quiqqer-erp-outputDialog-preview');
const entityId = this.getAttribute('entityId');
const pdfUrl = URL_OPT_DIR + 'quiqqer/erp/bin/output/backend/download.php?' + Object.toQueryString({
id: entityId,
t: this.getAttribute('entityType'),
......@@ -617,30 +618,37 @@ define('package/quiqqer/erp/bin/backend/controls/OutputDialog', [
(async () => {
try {
const module = await import(URL_OPT_DIR + 'bin/quiqqer-asset/pdfjs-dist/pdfjs-dist/build/pdf.mjs');
console.log(module);
PreviewContent.set('html', '<canvas id="pdf-canvas"></canvas>');
module.GlobalWorkerOptions.workerSrc = URL_OPT_DIR + 'bin/quiqqer-asset/pdfjs-dist/pdfjs-dist/build/pdf.worker.min.mjs';
module.getDocument(pdfUrl).promise.then((pdf) => {
pdf.getPage(1).then(page => {
const scale = 1.5;
const viewport = page.getViewport({scale});
const canvas = document.getElementById('pdf-canvas');
const context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
page.render({
canvasContext: context,
viewport: viewport
});
this.Loader.hide();
resolve();
});
});
const pdf = await module.getDocument(pdfUrl).promise;
PreviewContent.setStyle('backgroundColor', '#232721');
PreviewContent.setStyle('textAlign', 'center');
for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {
const page = await pdf.getPage(pageNum);
// Canvas für die Seite erstellen
const canvas = document.createElement('canvas');
canvas.id = `pdf-page-${pageNum}`;
canvas.style.color = '#ffffff';
canvas.style.marginTop = '20px';
PreviewContent.appendChild(canvas);
const scale = 1.5;
const viewport = page.getViewport({scale});
const context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
await page.render({
canvasContext: context,
viewport: viewport
}).promise;
}
this.Loader.hide();
resolve();
} catch (error) {
console.error('Fehler beim Laden des Moduls:', error);
this.Loader.hide();
......
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren