Budżet: 5000 UAH Termin: 30 dni
Aby rozwiązać problem detekcji fałszywych dokumentów w plikach PDF tekstowych, nie wystarczy po prostu porównywać tekst. Potrzebne jest narzędzie, które analizuje wewnętrzną strukturę obiektów PDF, ponieważ każde ingerencja przez edytor pozostawia „cyfrowe ślady”, niewidoczne dla oka, ale oczywiste dla kodu.
Strategia techniczna realizacji (Python):
Analiza metadanych i sygnatur (Metadata & Producer check): Każda instytucja używa specyficznego oprogramowania do generowania wyciągów (na przykład IText, Quartz, ReportLab). Jeśli w pliku pojawiają się tagi Adobe Acrobat, NitroPDF lub Preview, lub jeśli ModDate znacznie różni się od CreationDate — to natychmiastowy sygnał o ingerencji.
Sprawdzenie struktury obiektów (Incremental Updates): Edytory PDF często zapisują zmiany poprzez dodawanie nowych obiektów na końcu pliku (incremental updates). Narzędzie będzie sprawdzać obecność kilku tabel XREF oraz znaczników %%EOF. To pozwala wykryć nawet te zmiany, gdzie tekst został zmieniony na identyczny pod względem długości.
Kontrola czcionek i kodowania (Font & Encoding Consistency): Oryginalne systemy zazwyczaj używają podzbiorów czcionek (Subsets). Przy ręcznym edytowaniu edytor często podstawia czcionkę systemową lub zmienia kodowanie znaków. Będziemy porównywać sumy kontrolne wbudowanych czcionek z „wzorcowymi” dla tej instytucji.
Analiza współrzędnych (Layout X/Y Verification): Systemy generowania wyciągów wyrównują tekst z dokładnością do tysięcznych części piksela. Ręczne edytowanie prawie zawsze prowadzi do mikro-przesunięć w osiach X lub Y, które narzędzie zarejestruje za pomocą biblioteki pdfminer.six.
Ekonomia i skalowanie:
Koszt: Weryfikacja w Pythonie (biblioteki PyMuPDF, pdfminer) odbywa się lokalnie bez angażowania zewnętrznych API czy AI, dlatego koszt jednej weryfikacji w rzeczywistości odpowiada kosztowi kilku sekund pracy twojego serwera.
Uniwersalność: System budowany jest na zasadzie modułowości. Dla każdej nowej instytucji tworzony jest osobny „profil-maska” z wzorcowymi cechami struktury.
Pytanie uzupełniające:
Czy masz dostęp do 10-20 gwarantowanie oryginalnych wyciągów od tej instytucji w celu stworzenia początkowego „cyfrowego odcisku” (wzorca) struktury?