Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core aguila
Das Widget agorum.workflow.library.object.pdfOrganize bietet eine interaktive Bedienoberfläche zum Organisieren, Teilen und Zusammenführen von PDF-Dokumenten. Mit diesem Widget können Sie PDF-Seiten neu anordnen, entfernen, zwischen Dokumenten verschieben, Dokumente aufteilen oder zusammenführen und Seiten rotieren.
Das Widget eignet sich besonders, wenn PDF-Dokumente bearbeitet werden müssen, bevor sie weiterverarbeitet oder archiviert werden.
Das Widget wird typischerweise als eigenständiges Tool verwendet, um einem Benutzer die Möglichkeit zu geben, PDF-Dokumente zu organisieren.
Sie können das Widget wie folgt verwenden:
let aguila = require('common/aguila');
let widget = aguila.create({
type: 'agorum.workflow.library.object.pdfOrganize',
ids: ['/agorum/roi/Files/Demo/Willkommen.pdf', '7a3d4390-c099-11f0-9b4d-02420a0a000a'],
});
widget;
Das Widget lädt die angegebenen PDF-Dokumente und zeigt ihre Seiten in einer Vorschau an. Der Benutzer kann dann die gewünschten Seiten markieren und bearbeiten.
Das Widget bietet folgende Eigenschaften zur Konfiguration und Steuerung:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| ids | string[] | Array von UUIDs der PDF-Dokumente, die organisiert werden sollen. Nur PDF-Dateien werden berücksichtigt, andere Dateitypen werden ignoriert. |
| data | Page[] | Interne Datenstruktur, die den aktuellen Zustand aller Seiten repräsentiert. Diese Property wird normalerweise nicht manuell gesetzt. |
| changed | boolean | Gibt an, ob Änderungen vorgenommen wurden. Wird automatisch aktualisiert und kann verwendet werden, um z. B. einen OK-Button zu aktivieren/deaktivieren. (Nur lesbar) |
| result | object[] | Enthält die Beschreibung aller Änderungen, die vorgenommen wurden. (Nur lesbar) |
Das Widget besteht aus drei Hauptbereichen:
Die Seiten werden in einer scrollbaren Liste angezeigt, wobei jedes Dokument als Gruppe dargestellt wird. Der Gruppenname entspricht dem resultierenden Dateinamen. Seiten, die zum Entfernen markiert wurden, werden farblich leicht hervorgehoben.
Aktionsleiste
Am unteren Rand des Widgets befinden sich zwei Buttons zur Bestätigung oder zum Verwerfen der vorgenommenen Änderungen:
| Button | Beschreibung | Verhalten |
|---|---|---|
| Änderungen anwenden (OK) | Wendet alle vorgenommenen Änderungen auf die PDF-Dokumente an. Der Button ist nur aktiviert, wenn tatsächlich Änderungen vorgenommen wurden. | Schließt anschließend den Dialog. Die Änderungen werden in agorum core im selben Ordner wie das Ursprungsdokument gespeichert. Neu erzeugte PDF-Dokumente (beim Trennen) werden in dem Ordner abgelegt, in dem das erste übergebene Objekt liegt. |
| Abbrechen | Verwirft alle vorgenommenen Änderungen und schließt das Widget ohne Speicherung. | Schließt den Dialog. Alle Änderungen gehen verloren. |
Toolbar-Funktionen
Die Toolbar bietet folgende Bearbeitungsfunktionen, die auf die aktuell ausgewählte Seite angewendet werden:
| Icon | Funktion | Beschreibung | Aktiviert wenn |
|---|---|---|---|
| Seite entfernen/wiederherstellen | Markiert die ausgewählte Seite zum Entfernen oder hebt die Markierung auf. Entfernte Seiten werden rot eingefärbt, aber nicht sofort gelöscht. Die Aktion kann durch erneutes Klicken rückgängig gemacht werden. | Eine Seite ist ausgewählt. | |
| Dokument aufteilen | Teilt das aktuelle Dokument an der Position der ausgewählten Seite. Alle Seiten ab der ausgewählten Seite werden in ein neues Dokument verschoben. | Die ausgewählte Seite ist nicht die erste Seite des Dokuments. | |
| Dokumente zusammenführen | Führt das aktuelle Dokument mit dem nächsten Dokument zusammen. Alle Seiten des nächsten Dokuments werden an das aktuelle Dokument angefügt. | Nach der ausgewählten Seite existiert ein weiteres Dokument. | |
| Seite nach oben verschieben | Verschiebt die ausgewählte Seite innerhalb des aktuellen Dokuments eine Position nach oben. Die Seite tauscht die Position mit der darüberliegenden Seite. | Die Seite ist nicht die erste im Dokument oder in der gesamten Liste. | |
| Seite nach unten verschieben | Verschiebt die ausgewählte Seite innerhalb des aktuellen Dokuments eine Position nach unten. Die Seite tauscht die Position mit der darunterliegenden Seite. | Die Seite ist nicht die letzte im Dokument oder in der gesamten Liste. | |
| Seite zum vorherigen Dokument verschieben | Verschiebt die ausgewählte Seite aus dem aktuellen Dokument in das vorherige Dokument. Die Seite wird am Ende des vorherigen Dokuments eingefügt. | Das aktuelle Dokument ist nicht das erste Dokument. | |
| Seite zum nächsten Dokument verschieben | Verschiebt die ausgewählte Seite aus dem aktuellen Dokument in das nächste Dokument. Die Seite wird am Anfang des nächsten Dokuments eingefügt. | Das aktuelle Dokument ist nicht das letzte Dokument. | |
| Seite nach links drehen | Rotiert die ausgewählte Seite um 90° gegen den Uhrzeigersinn. Die Rotation wird sofort in der Vorschau sichtbar. | Eine Seite ist ausgewählt. | |
| Seite nach rechts drehen | Rotiert die ausgewählte Seite um 90° im Uhrzeigersinn. Die Rotation wird sofort in der Vorschau sichtbar. | Eine Seite ist ausgewählt. |
Hinweis: Alle Toolbar-Buttons sind kontextsensitiv und werden nur aktiviert, wenn die entsprechende Aktion auf die aktuelle Auswahl anwendbar ist. Ohne Seitenauswahl sind alle Buttons deaktiviert.
Sie können das Widget als Kontextmenü-Aktion für PDF-Dokumente zur Verfügung stellen. Dazu können Sie, wie in der Dokumentation Standardfunktionen im Explorer überschreiben beschrieben, ein override-Skript erstellen.
Beispiel für ein override-Skript:
let icons = require('/agorum/roi/customers/agorum.icons/js/icons');
let aguila = require('common/aguila');
exports.settings = user => [
{
name: 'agorum.doc.test.override',
menuOverride: (items, objects, parent) => {
// Check that PDF files are selected
let pdfs = objects.filter(obj => obj.nameExtension && obj.nameExtension.toLowerCase() === 'pdf');
if (pdfs.length > 0) {
// Add the PDF organizer entry to the context menu
items.push({
disabled: false,
// Handler that is called when the menu item is clicked
handler: () => {
// Erstelle das PDF-Organizer-Widget
let pdfWidget = aguila.create({
type: 'agorum.workflow.library.object.pdfOrganize',
ids: pdfs.map(pdf => pdf.UUID),
});
// Open the widget as popup
pdfWidget.popup({
title: 'PDFs organisieren',
width: 800,
height: 600,
});
},
// Icon for the menu entry
icon: 'aguila-icon picture_as_pdf',
// Unique name of the menu entry
name: 'pdf-organizer-menu-entry',
// Display text of the menu entry
text: 'PDFs organisieren',
});
}
return items;
},
},
];