PdfDing i poskramianie wiecznego chaosu PDF
Większość z nas ma folder Downloads lub serwer domowy, na którym przez lata gromadzą się setki plików PDF. Dokumentacja techniczna, książki o programowaniu systemowym, paragony, umowy, skany i artykuły badawcze. Zazwyczaj znalezienie odpowiedniego akapitu w takim bałaganie staje się koszmarem: jeden plik jest otwarty w podglądzie przeglądarki, inny jest pobrany na tablet, a notatki zostały na służbowym laptopie.
Jeśli kiedykolwiek używałeś linkding do zakładek, koncepcja będzie znajoma. Developer mrmn2 zaczerpnął z niej inspirację, aby stworzyć PdfDing — lekkie, samodzielnie hostowane rozwiązanie typu all-in-one do czytania, katalogowania i edycji plików PDF bezpośrednio przez interfejs webowy.
Co potrafi ten serwis
PdfDing rozwiązuje prosty problem: zapewnia jeden punkt dostępu do wszystkich dokumentów z synchronizacją stanu między urządzeniami. Otwierasz książkę na komputerze stacjonarnym, zamykasz kartę, a wieczorem kontynuujesz czytanie od tej samej strony na telefonie.
Projekt pokrywa podstawowe potrzeby zarządzania dokumentami bez rozbudowanych funkcji korporacyjnych.
Czytanie i synchronizacja
Główną funkcją czytnika jest śledzenie postępu. Interfejs pokazuje wyraźne paski postępu dla każdego pliku, dzięki czemu możesz od razu zobaczyć, który podręcznik jest w połowie przeczytany, a który jeszcze nie został nawet dotknięty.
Dla komfortowego czytania autor dodał:
- Motyw ciemny
- Tryb odwrócenia kolorów dla starych skanów z białym tłem
- Wiele opcji układu stron dla różnych ekranów
- Panel notatek z obsługą Markdown tuż obok dokumentu
Adnotacje i podpisy
PdfDing zawiera w pełni funkcjonalny edytor znaczników. Możesz podświetlać tekst markerem, rysować odręczne diagramy na marginesach i wstawiać bloki tekstowe.
Osobny plus to obsługa podpisów. Zapisujesz swój podpis w profilu raz, a następnie możesz szybko wstawić go na umowach i fakturach z dowolnego autoryzowanego urządzenia. Wszystkie komentarze i podświetlenia są zbierane w osobnym panelu, skąd można je wyeksportować bez przesyłania najcięższego pliku źródłowego.
Organizacja katalogu
Gdy dokumentów jest ponad sto, płaska lista przestaje się sprawdzać. W PdfDing możesz budować strukturę według własnych potrzeb:
- Workspaces do rozdzielania plików osobistych i służbowych
- Zagnieżdżone kolekcje
- Wielopoziomowe tagi
- Ulubione i archiwum dla przestarzałych wersji
Dostępne są akcje masowe do operacji na wielu elementach. Możesz wybrać dwadzieścia raportów z ostatniego kwartału i wysłać je do archiwum lub przypisać wspólny tag w kilka kliknięć.
Udostępnianie i bezpieczeństwo
Jeśli musisz pokazać dokument koledze lub klientowi, nie musisz przesyłać pliku przez komunikator. W aplikacji możesz wygenerować publiczny link lub kod QR dla konkretnego dokumentu lub całej kolekcji. Dostęp może być chroniony hasłem lub ograniczony czasowo, jeśli to konieczne.
Pod kątem bezpieczeństwa też wszystko jest w porządku:
- Obsługa SSO przez protokół OIDC
- Uwierzytelnianie dwuskładnikowe przez kody TOTP
- Klucze sprzętowe i biometria przez standard WebAuthn
Jak to działa pod maską
Silnikiem projektu jest Python. Autor nie przeciążył systemu złożonością mikroserwisów, wybierając architekturę monolityczną, która łatwo się wdraża na skromnym VPS lub domowym Raspberry Pi.
Przy okazji, rozwój otrzymał wsparcie finansowe z European NGI0 Commons Fund (program Next Generation Internet przez NLnet). To dobry znak: autor ma zasoby na rozwój bazy kodu, a projekt nie zostanie porzucony miesiąc po wydaniu.
Jak uruchomić to samodzielnie
Najłatwiejszy sposób to uruchomienie serwisu przez Docker Compose. Tworzysz standardowy manifest:
services:
pdfding:
image: mrmn/pdfding:latest
container_name: pdfding
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/app/data
environment:
- SECRET_KEY=your-super-secret-key-change-me
Po uruchomieniu docker compose up -d panel webowy będzie dostępny na porcie 8080. Do użytku produkcyjnego wystarczy przekierować ruch przez Nginx Proxy Manager, Traefik lub Caddy z certyfikatem SSL.
Dla klastrów dokumentacja zawiera gotowe wykresy Helm, więc wdrożenie w Kubernetes też nie będzie problemem.
Kto to doceni
PdfDing raczej nie zastąpi ciężkich systemów zarządzania dokumentami jak Paperless-ngx, jeśli potrzebujesz automatycznego rozpoznawania tekstu (OCR), złożonych potoków przetwarzania przychodzącej poczty i parsowania kodów kreskowych.
Ale jeśli szukasz czystego, szybkiego czytnika i katalogu dla książek, dokumentacji, podręczników i umów z możliwością szybkiego naniesienia podpisu z tabletu, ten projekt idealnie się sprawdzi. Możesz wypróbować interfejs przed instalacją na oficjalnej demo.
Powiązane projekty