
Cześć!
Dziś z przyjemnością przedstawię prosty sposób konfiguracji możliwości dodawania plików w formatach Office do Paperless-ngx, takich jak .doc, .xlsx czy .odt. Odkryj, jak szybko i sprawnie rozszerzyć funkcjonalność swojego Paperlessa, umożliwiając łatwe wgrywanie i zarządzanie dokumentami w popularnych formatach biurowych.
Wstęp
Czym jest Paperless-ngx?
Paperless-ngx jest nowoczesnym rozwiązaniem open source, przeznaczonym do bezpapierowego zarządzania dokumentami. Jest to fork projektu Paperless, który został stworzony z myślą o skanowaniu, tagowaniu, przeszukiwaniu i zarządzaniu cyfrowymi kopiami dokumentów papierowych w celu zminimalizowania potrzeby przechowywania fizycznych kopii. Paperless-ngx oferuje szereg ulepszeń w stosunku do oryginalnego projektu, w tym lepsze wsparcie dla interfejsu użytkownika, bardziej zaawansowane opcje przeszukiwania, automatyczne tagowanie dokumentów na podstawie ich zawartości oraz wsparcie dla OCR (rozpoznawanie znaków optyczne) w wielu językach, co pozwala na łatwiejsze zarządzanie i wyszukiwanie dokumentów w bazie danych.
Projekt ten jest szczególnie przydatny dla osób i firm dążących do zredukowania ilości papieru w swojej pracy i życiu codziennym. Oferuje prosty i wydajny sposób na organizację cyfrowych dokumentów.
Geneza zagadnienia
Rozpoczynając, domyślnie Paperless-ngx zapewnia funkcjonalność wgrywania plików w formacie .pdf. Jednak, aby rozszerzyć możliwości systemu, warto skonfigurować obsługę Gotenberg. Gotenberg to narzędzie, które umożliwia przekształcanie dokumentów w różnych formatach do formatu PDF za pomocą zapytań HTTP. Dodatkowo, konfiguracja obsługi Apache Tika pozwoli na analizę zawartości plików w formatach biurowych takich jak .doc, .xlsx, czy .odt, co umożliwi późniejsze przetwarzanie ich, np. konwersję do formatu PDF za pomocą Gotenberga. Warto zaznaczyć, że mimo konwersji, użytkownicy wciąż będą mieli możliwość pobrania dokumentów z archiwum w ich oryginalnych formatach, zachowując pełną elastyczność w zarządzaniu zasobami dokumentacyjnymi.
Krok 1 – Instalacja Paperless-ngx na serwerze Synology
Jeśli jeszcze nie zainstalowałeś Paperless-ngx na swoim urządzeniu Synology, serdecznie zachęcam do przeczytania tego artykułu. Dowiesz się z niego, jak skonfigurować system do zarządzania dokumentami bez papieru. To doskonała okazja, by zacząć korzystać z zaawansowanych możliwości Paperless-ngx, ułatwiających organizację i bezpieczne przechowywanie dokumentów.
Krok 2 – Edycja parametrów w Docker Compose
W kroku 2 zajmiemy się edycją parametrów w pliku Docker Compose, aby umożliwić korzystanie z zaawansowanych opcji w Paperless-ngx. Jest to kluczowy element konfiguracji, pozwalający na dostosowanie procesu do specyficznych potrzeb, w tym przetwarzania dokumentów w formatach Office.
- Zaloguj się na swoje konto i przejdź do interfejsu administracyjnego Portainera.
- Jeżeli korzystasz z systemu jednokrotnego logowania Authentik, możesz ułatwić sobie proces logowania, integrując Portainer z Authentikiem. Instrukcje dotyczące integracji znajdziesz w dedykowanym poradniku.
- Wybierz swoje środowisko (eng: Environments) w którym będziesz edytować konfigurację utworzonego Docker Compose. Następnie przejdź do Stacks.
- Wybierz utworzony Stack o nazwie paperless-ngx (lub nazwany według Ciebie, odpowiadający Paperlessowi).
Gotenberg i Tika
- Dodaj poniższy kod Docker Compose do istniejącego stosu, aby skonfigurować Gotenberga i Tikę:
gotenberg:
image: gotenberg/gotenberg:7.9.2
restart: always
container_name: paperless_gotenberg
networks:
- paperless_network
command:
- "gotenberg"
- "--log-level=debug"
- "--chromium-disable-javascript=true"
- "--chromium-disable-routes=true"
- "--chromium-allow-list=file:///tmp/.*"
- "--api-timeout=600s"
tika:
image: ghcr.io/paperless-ngx/tika
container_name: paperless_tika
networks:
- paperless_network
restart: always
W części aplikacji Gotenberg, używam obrazu Dockerowego w wersji 7.9.2, ponieważ dostrzegałem wiele zgłoszonych błędów związanych z konwersją dokumentów do PDF, które pojawiły się w repozytorium GitHub. Ta wersja w działaniu z Paperlessem okazuje się najbardziej stabilna. W bloku command konfigurujemy Gotenberga, określając poziom logowania, wyłączając obsługę JavaScript w Chromium, wyłączając niektóre trasy, ustalając listę dozwolonych adresów URL dla Chromium oraz ustawiając limit czasu na odpowiedź API na 600 sekund. Ta konfiguracja zapewni optymalną wydajność i stabilność działania Gotenberga w Twoim środowisku.
Paperless-ngx
- Dodaj parametr do Environment przy Web serverze Paperless-ngx opisany poniżej:
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
- Kliknij przycisk Deploy the stack, a następnie poczekaj, dopóki aż Portainer przetworzy nową zawartość i utworzy ponownie kontenery.
- Gotowe! 🚀
Krok 3 – Wgraj plik do Paperlessa
Aby przetestować działanie usługi, wybierz plik, który chcesz przesłać do systemu Paperless.
- Przejdź do panelu Paperlessa i skorzystaj z opcji wgrywania pliku.
- Po pomyślnym przesłaniu pliku, monitoruj interakcję systemu z plikiem, aby potwierdzić poprawne działanie usługi.
- W logach powinien być widoczny proces odczytywania zawartości dokumentu. Przykład poniżej:
[2024-05-07 18:42:03,800] [DEBUG] [paperless.consumer] Detected mime type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
[2024-05-07 18:42:04,142] [DEBUG] [paperless.consumer] Parser: TikaDocumentParser
[2024-05-07 18:42:04,147] [DEBUG] [paperless.consumer] Parsing 2024-04-06 XXXX.docx...
[2024-05-07 18:42:04,148] [INFO] [paperless.parsing.tika] Sending /tmp/paperless/paperless-ngx97r_6y6x/2024-04-06 XXXX.docx to Tika server
[2024-05-07 18:42:06,377] [INFO] [paperless.parsing.tika] Converting /tmp/paperless/paperless-ngx97r_6y6x/2024-04-06 XXXX.docx to PDF as /tmp/paperless/paperless-e0xc5cx4/convert.pdf
[2024-05-07 18:42:11,666] [DEBUG] [paperless.consumer] Generating thumbnail for 2024-04-06 XXXX.docx...
[2024-05-07 18:42:11,673] [DEBUG] [paperless.parsing] Execute: convert -density 300 -scale 500x5000> -alpha remove -strip -auto-orient -define pdf:use-cropbox=true /tmp/paperless/paperless-e0xc5cx4/convert.pdf[0] /tmp/paperless/paperless-e0xc5cx4/convert.webp
[2024-05-07 18:42:13,766] [INFO] [paperless.parsing] convert exited 0
[2024-05-07 18:42:13,984] [DEBUG] [paperless.consumer] Saving record to database
[2024-05-07 18:42:13,985] [DEBUG] [paperless.consumer] Creation date from parse_date: 2024-04-06 18:29:00+00:00
[2024-05-07 18:42:14,120] [INFO] [paperless.handlers] Assigning document type Filip / Sprawy publiczne, to 2024-04-06 2024-04-06 XXXX.docx
[2024-05-07 18:42:14,177] [INFO] [paperless.handlers] Assigning storage path Sprawy publiczne: 2024 Warszawa, Zarząd Dróg Miejskich
[2024-05-07 18:42:14,592] [DEBUG] [paperless.consumer] Deleting file /tmp/paperless/paperless-ngx97r_6y6x/2024-04-06 XXXX.docx
[2024-05-07 18:42:14,605] [DEBUG] [paperless.parsing.tika] Deleting directory /tmp/paperless/paperless-e0xc5cx4
[2024-05-07 18:42:14,607] [INFO] [paperless.consumer] Document 2024-04-06 XXXX consumption finished
[2024-05-07 18:42:14,627] [INFO] [paperless.tasks] ConsumeTaskPlugin completed with: Success. New document id 4151 created
Jeśli masz dodatkowe pytania dotyczące konfiguracji, śmiało zostaw komentarz pod tym artykułem lub skontaktuj się ze mną bezpośrednio. Chętnie odpowiem na wszelkie wątpliwości i pomogę rozwiązać ewentualne problemy. Twoje pytania mogą pomóc w ulepszeniu tego poradnika dla innych użytkowników.
Dodatkowe źródła i informacje
Skonfiguruj Single Sign-On (SSO) między Authentik a Paperless-ngx za pomocą OpenID Connect, aby zwiększyć wygodę logowania i bezpieczeństwo dostępu do Twojego systemu zarządzania dokumentami. Poznaj kroki potrzebne do integracji tych dwóch potężnych narzędzi i ciesz się płynniejszym procesem uwierzytelniania.
👉 Dowiedz się więcej o procesie i ułatw sobie zarządzanie logowaniem.
Odkryj, jak rozwiązać problem z błędem podpisu cyfrowego w plikach PDF.
👉 Przejdź do artykułu, który pokaże Ci, jak radzić sobie z komunikatem: „DigitalSignatureError”.
W celu dalszego zgłębienia tematu i uzyskania szczegółowych informacji, polecam sprawdzenie poniższych linków. Są one wartościowymi źródłami, które zostały wykorzystane podczas opracowywania tego poradnika.
- Paperless-ngx, Optional services: https://docs.paperless-ngx.com/configuration/#tika
- Github, Paperless-ngx setup with Gotenberg & Tika not working?: https://github.com/paperless-ngx/paperless-ngx/discussions/3017
- Gotenberg, Troubleshooting: https://gotenberg.dev/docs/troubleshooting
Przeczytaj także
- Raspberry Pi 5: Instalacja i konfiguracja dysku NVMe. Dowiedz się, jak zainstalować i skonfigurować dysk NVMe z Raspberry Pi 5. Praktyczny przewodnik krok po kroku!
- Home Assistant: Instalacja i integracja licznika Eastron DSM120M. Instalacja i integracja licznika energii Eastron z Home Assistant przy użyciu ESPHome. Szczegółowy przewodnik krok po kroku.
- Home Assistant: Instalacja czujnika BME280 poprzez ESPHome. Stwórz prostą stację pogodową na balkon z ESPHome i Home Assistant. Dzięki temu poradnikowi zbudujesz system z czujnikiem BME280.
- TVHeadend: Instalacja i konfiguracja dekodera SAT>IP. Telestar Digibit Twin: Odkryj w dzisiejszym wpisie na blogu krok po kroku konfigurację dekodera SAT>IP z TVHeadend w Docker Compose.
- Jak skonfigurować wkładkę Leox GPON ONT na routerze Mikrotik. Poradnik krok po kroku jak skonfigurować wkładkę Leox LXT-010S-H GPON ONT na routerze Mikrotik RB5009, zamiast modułu ONT od Orange.
- ADS-B: Instalacja i konfiguracja odbiornika na Raspberry Pi. Odkryj tajniki instalacji i konfiguracji własnej anteny ADS-B na Raspberry Pi. Rozwijaj umiejętności i śledź samoloty w czasie rzeczywistym.
- Traccar: Przewodnik instalacji na Synology w Dockerze. Przewodnik krok po kroku: Instalacja Traccar na Synology za pomocą Docker. Skuteczne śledzenie pojazdów na własnym serwerze.
Dodaj komentarz