Unterstützung benötigt: Export von Paperless-ngx Daten nach Excel

Krabtus

Benutzer
Mitglied seit
05. Dez 2022
Beiträge
120
Punkte für Reaktionen
17
Punkte
24
Hallo zusammen,

ich nutze Paperless-ngx auf meiner Synology NAS und bin sehr zufrieden damit. Jetzt möchte ich die Metadaten meiner Dokumente (z. B. Titel, Tags, Datum) gerne in Excel weiterverarbeiten. Leider habe ich bisher keine Möglichkeit gefunden, diese Daten direkt als CSV oder in einem anderen Excel-kompatiblen Format zu exportieren.

Meine Fragen sind:

1. Gibt es eine integrierte Funktion in Paperless-ngx, um die Dokumenten-Metadaten zu exportieren?
2. Falls nicht, hat jemand Erfahrung damit, wie man die Daten eventuell über die API oder direkt aus der Datenbank extrahieren kann?
3. Gibt es vielleicht schon vorhandene Skripte oder Tools, die diesen Export erleichtern?

Vielen Dank im Voraus!
 

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
411
Punkte
139
Ich wüsste nicht, dass es sowas gibt. Ich bin der Meinung, dass die ganzen Metadaten beim Export in der manifest.json stehen. Die könnte man per Script einlesen und zu CSV umwandeln.
 

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
411
Punkte
139
Ich hab mir das gerade nochmal angeguckt. In der manifest.json steht wirklich alles drin was du gerne hättest und noch mehr....
Man müsste sich nur einen kleinen Mapper schreiben, der die Datei einliest und alles auswertet und anschließend wieder alles in eine andere Datei schreibt.
Andere Möglichkeit, die aber wahrscheinlich komplizierter ist, einfach die Daten aus der DB direkt holen. Ich weiß jetzt nicht wie deine Kenntnisse sind und was für dich in Frage kommt.
 

Synchrotron

Benutzer
Sehr erfahren
Mitglied seit
13. Jul 2019
Beiträge
5.100
Punkte für Reaktionen
2.067
Punkte
259
Solange Daten strukturiert sind, reicht es meistens, sie Excel zum Import anzubieten.

Dann entweder feste Spaltenbreiten setzen, oder das verwendete Trennzeichen angeben. Und schon steht alles hübsch in einer Tabelle.
 

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
411
Punkte
139
Solange Daten strukturiert sind, reicht es meistens, sie Excel zum Import anzubieten.
Ich habe keine extremen Excel Kenntnissen, aber ich glaube bei der Struktur wird das nichts. In der Datei sind verweise auf die Daten. Es handelt sich um eine JSON Datei wo die komplette DB abgebildet wird.

Da ich gerade am Rechner bin habe ich mal was probiert. Ich habe es mit Node probiert, weil Shell Scripting ist nicht meine Stärke
Eine Datei erstellen z.B. exportToCsv.js und folgenden Inhalt einfügen:
Javascript:
const fs = require('fs');
const paperlessData = require('./manifest.json');

const tags = {};
const documents = [];
paperlessData.forEach(f => {
  if (f.model === 'documents.tag') {
    tags[f.pk] = f.fields.name;
  }
  if (f.model === 'documents.document') {
    documents.push({
      titel: f.fields.title,
      filename: f.fields.original_filename,
      date: f.fields.added,
      modified: f.fields.modified,
      tags: f.fields.tags
    });
  }
})

const content = ['"Titel";"Dateiname";"hinzugefügt am";"Geändert am";"Tags"'];
documents.forEach(d => {
  const tmp = {...d};
  tmp.tags = d.tags.map(t => tags[t]).join(', ');
  const entry = Object.keys(tmp).map(i => `"${tmp[i]}"`).join(';')
  content.push(entry);
})


fs.writeFile("paperless.csv", content.join("\r\n"), (err) => {
  if (err)
    console.log(err);
  else {
    console.log("paperless.csv erstellt");
  }
});

Diese Datei im selben Ordner wie die manifest.json ablegen oder den Pfad relativ von der js Datei aus anpassen.
Und dann einfach node exportToCsv.js aufrufen. Es wird dann im selben Ordner eine paperless.csv erstellt. Wenn man weitere Felder hinzufügen will, dann einfach das Objekt bei documents.push erweitern und natürlich die Überschriften bei const content... erweitern.
Bei einem kurzen Test von mir lief das soweit. Aber ich übernehme keine Haftung. Dies dient eher als grobe Orientierung.
 
  • Like
Reaktionen: Krabtus

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
411
Punkte
139
Konntest du es schon ausprobieren? Feedback wäre ganz nett, ob es das ist was du wolltest.
 

Krabtus

Benutzer
Mitglied seit
05. Dez 2022
Beiträge
120
Punkte für Reaktionen
17
Punkte
24
Danke @Hellraiser123 für den Script. Ich habe das leider noch nicht testen können, werde es aber bei Gelegenheit. Schade das Paperless-ngx keine direkte Export-Funktion eingebaut hat.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat