PDF Dateien öffnen/entschlüsselt öffnen, bearbeiten etc.



  • Hallo,

    ich bin dabei, ein Programm zu schreiben, mit dem der Benutzer einfach PDF dateien öffnen und bearbeiten kann.

    Jetzt gibt es PDF-Dateien, die ein Passwort besitzen. Folglich suche ich nach einer Möglichkeit, eine passwortgeschützte PDF zu öffnen, zu entschlüsseln und wiederzugeben.

    Ich glaube nicht, dass ich mit der normalen windows api weiterkomme.

    Sehr wahrscheinlich benötige ich dazu spezielle libraries, richtig?

    Falls ja, kennt jemand eine kostenlose library zum download?
    Falls nein, wie manage ich mein Vorhaben mit purem C++?

    Ich habe ein Windows 7 System (64bit) und nutze nur C++ (+Qt 5.2).

    Vielen Dank vorab! 🙂



  • Nein die Winapi hat mit Sicherheit gar keine Funktionen zum Anzeigen von PDFs. Nichtmal welche ohne Passwort. Sonst müsste man sich ja auch gar nicht den Acrobat Reader oder was vergleichbares installieren. Du brauchst also eine passende Library. Die wohl verbreiteste Library dürfte Ghostscript sein.

    PS: Dein Vorhaben ist alles andere als einfach und PDF Dateien lassen sich nunmal nicht wie Word Dateien bearbeiten.



  • AFAIK kann Qt mit PDFs umgehen: https://wiki.qt.io/Handling_PDF



  • Qt benutzt unten drunter einfach nur eine der bekannten Open Source Implementierungen, weiß grad nicht mehr, welche. Die kann man auch direkt benutzen.



  • Hallo,

    danke erst mal für die zahlreichen Antworten!

    Ok, offensichtlich wird das was Größeres.

    Ich habe mir mal Ghostscript angeschaut, aber irgendwie habe ich da noch nicht so richtig den Durchblick.

    Mir geht es vor allem darum, per c++ eine pdf mit passwort zu öffnen, also nicht einfach öffnen zu lassen, sondern mit Passwort-Übergabe...

    Da wäre es schon geschickt, direkt in die raw-data der pdf eingreifen zu können, damit es auch nicht so lange dauert, bis mein Program ne Rückmeldung hat, ob das Passwort korrekt war oder nicht.

    Für das Bearbeiten der pdf brauche ich dann sowieso direkten Zugang zur pdf source...

    Naja wahrscheinlich werde ich da noch ne ganze Weile dran sitzen... 🙄



  • Was heißt "öffnen"? Du willst sie selber in deinem Programm darstellen? Das ist überhaupt nicht einfach und kriegt kaum jemand außer Adobe wirklich richtig hin. z.B. der PDF Viewer, der in Firefox eingebaut ist, zeigt viele Seiten falsch an. Auch die großen alternativen Reader, wie Foxit, können nicht alles (richtig) darstellen.



  • Gapa schrieb:

    Mir geht es vor allem darum, per c++ eine pdf mit passwort zu öffnen, also nicht einfach öffnen zu lassen, sondern mit Passwort-Übergabe...

    Wenn du schon normale PDF Dateien öffnen kannst wird das mit dem Passwort wohl nicht das Problem werden. Ich behaupte mal jede Library, die einigermaßen fehlerfrei PDF Dateien anzeigen kann, hat auch die Funktionen zum entschlüsseln eingebaut.

    Gapa schrieb:

    Da wäre es schon geschickt, direkt in die raw-data der pdf eingreifen zu können, damit es auch nicht so lange dauert, bis mein Program ne Rückmeldung hat, ob das Passwort korrekt war oder nicht.

    Wie kommst du darauf, dass es lange dauert? Was soll denn die Library machen? Passwort überprüfen und dann 1 Sekunde lang Däumchen drehen?

    Gapa schrieb:

    Für das Bearbeiten der pdf brauche ich dann sowieso direkten Zugang zur pdf source...

    Du willst das komplette PDF Format von Hand neu implementieren für dein Projekt? Ich vermute da werden viele Monate Zeit drauf gehen nur um einigermaßen akzeptabel eine PDF darstellen zu können, und von ändern wollen wir nochmal gar nicht reden. Irgendwie scheint mir dein Vorhaben wenig geplant und du unterschätzt die Arbeit total. Außerdem was soll deinen PDF Editor besonders machen? Es gibt z.B. Inkscape und damit kann man zumindest einzelne PDF Seiten importieren, bearbeiten und dann wieder als PDF abspeichern.



  • Gapa schrieb:

    Für das Bearbeiten der pdf brauche ich dann sowieso direkten Zugang zur pdf source...

    Der "source" ist nicht in der pdf drin...


Anmelden zum Antworten