Prosty edytor PDF

AD
  • Rejestracja:ponad 12 lat
  • Ostatnio:30 dni
  • Postów:36
0

Cześć,

mam problem ale dość prosty według mnie do rozwiązania.

Zmieniłem dane firmy ( NIP, IMIE I NAZWISKO ), w programie do faktur z automatu po wprowadzeniu nowej licencji - wszystkie faktury zmienily nagłowek z nowym danymi - nawet te wystawione przed zmianą...

Myślałem o prostym programie z okienkiem "wczytaj plik" i przyciskiem "ZMIEN nagłówek i zapisz".

I teraz pytanie, czy jakaś biblioteka pdf potrafi zmienic tekst w konktetnym miejscu na inny? Czy lepiej to zrobić w sposób graficzny czyli w konkretnym obszarze graficznym, nanieść inną grafikę o tych samych wymiarach i zapisac jako nowy pdf?

Jak myślicie?
Przyznam szczerze, że kilkanaście lat juz w delphim nie działalem, ale to chyba jak jazda na rowerze? Jak odpale to może mi sie troche przypomni...

Pozdrawiam

PD
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 4 godziny
1

To zależy od pliku pdf, czy jego zawartością jest tekst, czy obraz (bo i takie rozwiązania widziałem).
Są biblioteki, które pozwalają na edycję plików pdf, ale z tego co się orientuję to w większości są to rozwiązania płatne, np. https://www.gnostice.com/PDFtoolkit_VCL.asp , https://www.loslab.com/pdf-library/loslab-pdf-library
Ale zawartość pliku pdf możesz potraktować jako tekst i o ile ciągi w pliku nie są skompresowane to można je podmienić. Są też narzędzia do dekompresji ciągów (np. qpdf).


pozdrawiam
paweld
AD
  • Rejestracja:ponad 12 lat
  • Ostatnio:30 dni
  • Postów:36
0
Paweł Dmitruk napisał(a):

To zależy od pliku pdf, czy jego zawartością jest tekst, czy obraz (bo i takie rozwiązania widziałem).
Są biblioteki, które pozwalają na edycję plików pdf, ale z tego co się orientuję to w większości są to rozwiązania płatne, np. https://www.gnostice.com/PDFtoolkit_VCL.asp , https://www.loslab.com/pdf-library/loslab-pdf-library
Ale zawartość pliku pdf możesz potraktować jako tekst i o ile ciągi w pliku nie są skompresowane to można je podmienić. Są też narzędzia do dekompresji ciągów (np. qpdf).

Zdecydowanie wystarczyłaby podmiana ciągu znaków, które są stałe.

AN
  • Rejestracja:około 19 lat
  • Ostatnio:około 15 godzin
0

Nie wiem, czy akurat do Delphi jest taka biblioteka, ale gdybym ja stanął przed takim zadaniem, to próbowałbym bibliotekę iText do Java i iTextSharp do C#. To są darmowe i znane biblioteki do odczytu i tworzenia PDFów. To wcale nie znaczy, ze cały program muszę zrobić w C#. Może być prosty program, który robi jedną konkretną rzecz, czyli wczytuje plik, dokonuje elementarne czynności i zapisuje plik PDF. Całą logikę biznesową i tym samym aplikację użytkową mogę mieć w Delphi i w przypadku potrzeby modyfikacji PDF może uruchomić aplikację C# zrealizowaną jako konsolowa z przekierowaniem standardowych strumieni. Logika biznesowa w Delphi może wysterować tą pomocnicza aplikację.

Aby łatwiej to współgrało, ta pomocnicza aplikacja powinna być traktowana bardziej jak biblioteka niż kompletna aplikacja, czyli ta aplikacja nie wykona całego zadania, ale np. wykona czynności "Otwórz plik", "pobierz liczbę obiektów", "pobierz tekst z obiektu nr X", "pobierz współrzędne obiektu nr X", "wstaw tekst do obiektu nr X", "ustaw współrzędne obiektu nr X", "Zapisz plik". To powinny być czynności jak najprostsze i jak najbardziej uniwersalne. Wszystkim będzie sterować Twoja aplikacja w Delphi.

edytowany 1x, ostatnio: andrzejlisek
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
1

W Delphi są biblioteki do PDF (także darmowe) ale nie wiem czy takie coś jest możliwe z ich wykorzystaniem dlatego podaję przykład w Python https://dev.to/abbazs/replace-text-in-pdfs-using-python-42k6 (to jeden z wielu) a jeżeli z jakiegoś powodu musi to być zintegrowane z Delphi to Python może działać w Delphi (w tle tak że przeciętny użytkownik końcowy nawet nie wie że tam wykorzystujesz skrypt Pythona choć oczywiście Python musi być zainstalowany) normalnie wywołuje się funkcje, można przekazywać parametry i oczywiście mogą one zwracać wartości. Na YT kanał BSCPolska jest kilka filmików o tym.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 3x, ostatnio: kAzek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.