nicht-druckbare pdfs drucken?

soul_rebel

ist immer auf der flucht
weiß jemand wie ich eine verschlüsselte pdf datei von der ich nur dass nutzerpasswort habe und die auf nicht-druckbar gestellt ist, drucken kann kann?
xpdf und kpdf wollen aus gründen der standardeinhaltung oder so, dass nicht machen.
technisch gesehen ist dass aber doch ein total bescheurtes konzept, also ich meine wenn ich die datei komplette entschlüsseln kann, so dass sie auf dem bildschirm wiedergegeben wird, dann muss ich sie auch nach ps konvertieren können.

ich will ja wirklich kein schabernack mit den dinger treiben und das dokument sonstwie vervielfältigen, aber eine 45-seiten skript am computer durchzuarbeiten, de einen 14 zoll monitor hat, wo nicht mal eine seite in lesbarer auflösung draufpasst ist echt mies....

also hat jemand einen vorschlag, jenseits von quellcode von kpdf ändern? (das mach ich zu not auch)

mfg soul_rebel
 

dettus

Bicycle User
hmm... also xpdf zu patchen halte ich erstmal fuer uebertrieben.
sollte dich aber auch nicht unbedingt abschrecken!

ich hatte mal ein .pdf dokument welches ich folgendermassen bearbeitet habe:

Code:
% pdf2ps bla.pdf bla.ps
% ps2pdf bla.ps bla.pdf
 

soul_rebel

ist immer auf der flucht
pdf2ps kann aber keine passwortgeschützten dokumente umwandeln.
klappt also höchstens wenn "nur" drucken auf verboten gestellt ist.

ghostscript kann imo garnicht mit geschützten dokumenten umgehen...
 

Elwood

Naiver Mutmaßlicher
Sorry, das ich hier keinen Lösungsvorschlag stehen habe,
aber als ich das gelesen hab', musste ich wirklich schmunzeln. :)

Moin,

full ack, hatte so ein mieses PDF auch schon mal am Start!

Das ist ein kleiner Vorgeschmack auf DRM.... ;'(

Gruss, Elwood

PS: Kann leider nicht helfen, bei mir reichte damals die Hardcopy-Funktion (nur eine oder waren zwei Seiten)
 

soul_rebel

ist immer auf der flucht
@damutz: anscheinend konnte ghostview früher problemlos die dateien öffenen, was aber deaktiviert wurde. eine patch der ghostview wieder drucken lässt habe ich schon reingepackt aber leider kriegt ghostview die datei garnicht geöffnet
Code:
****This file requires a password for access.
Error: /invalidfileaccess in pdf_process_Encrypt
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1   3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--
Dictionary stack:
   --dict:1061/1123(ro)(G)--   --dict:0/20(G)--   --dict:79/200(L)--   --dict:79/200(L)--   --dict:97/127(ro)(G)--   --dict:229/230(ro)(G)--   --dict:16/24(L)--
Current allocation mode is local
GNU Ghostscript 7.07: Unrecoverable error, exit code 1
werde mal schauen was ich mit kpdf hinkriege...
 

soul_rebel

ist immer auf der flucht
meine fresse, selbst pdftk-tools kuschen vor adobe, das reicht mir langsam!

ich ziehe jetzt aktuelle kdegraphics sourcen und schaue mal was sich machen lässt.
 

Kamikaze

Warrior of Sunlight
Mein Dokument ist nur Druckgesperrt, da funktioniert Daniels Vorschlag. Wenn du also das Passwort wegkriegst, sollte das machbar sein.
 

soul_rebel

ist immer auf der flucht
ich habe mir meine eigene kpdf version gebastelt, jetzt läufts!

so gehts: ist recht einfach, also aktuelle kpdf or xpdf sourcen ziehen, ins ./xpdf unterverzeichnis der sourcen gehen (bei kpdf ./xpdf/xpdf) und XRef.cc öffnen und einfach folgendes:
Code:
GBool XRef::okToPrint(GBool ignoreOwnerPW) {
  return (!ignoreOwnerPW && ownerPasswordOk) || (permFlags & permPrint);
}

GBool XRef::okToChange(GBool ignoreOwnerPW) {
  return (!ignoreOwnerPW && ownerPasswordOk) || (permFlags & permChange);
}

GBool XRef::okToCopy(GBool ignoreOwnerPW) {
  return (!ignoreOwnerPW && ownerPasswordOk) || (permFlags & permCopy);
}

GBool XRef::okToAddNotes(GBool ignoreOwnerPW) {
  return (!ignoreOwnerPW && ownerPasswordOk) || (permFlags & permNotes);
durch folgendes ersetzen:
Code:
GBool XRef::okToPrint(GBool ignoreOwnerPW) {
  return 1;
}

GBool XRef::okToChange(GBool ignoreOwnerPW) {
  return 1;
}

GBool XRef::okToCopy(GBool ignoreOwnerPW) {
  return 1;
}

GBool XRef::okToAddNotes(GBool ignoreOwnerPW) {
  return 1;
}
und schwupps geht es :D

also das macht nur die dateieinschränkungen weg, ABER kde kann ja nach pdf drucken, also geschützte datei öffnen nach pdf drucken zu ner neuen datei und schon sind auch die passwörter weg.
hätte nie geglaubt, dass sich freie software projekte an so einem security-by-obscurity mist beteiligen :kopfschüttel:
ich werde das ganze mal als patch für graphics/kdegraphics einschicken, mal sehen was die sagen :D

edit: durch das "in pdf-datei drucken" ist datei sogar von 8,5mb auf 1,5mb geschrumpft...
 

0815Chaot

FreeBSD/sparc64-Tüftler
Möglicherweise geht das auch mit pdftops, das sich in graphics/xpdf befindet. Meiner Erfahrung nach liefert das ohnehin bessere und kleinere PS-Dateien als das pdf2ps aus print/ghostscript-*. Allerdings habe ich das nur mit PDFs versucht, bei denen lediglich das Drucken verboten war. Solche mit zusätzlichem Benutzer-Paßwort hatte ich noch nicht, daher weiß ich nicht, ob das einen Unterschied macht.
 

soul_rebel

ist immer auf der flucht
0815chaot schrieb:
Möglicherweise geht das auch mit pdftops, das sich in graphics/xpdf befindet. Meiner Erfahrung nach liefert das ohnehin bessere und kleinere PS-Dateien als das pdf2ps aus print/ghostscript-*. Allerdings habe ich das nur mit PDFs versucht, bei denen lediglich das Drucken verboten war.
ein passwort brauch man, denn die datei ist mit diesem passwort verschlüsselt.
nur sollte halt das user-passwort reichen, denn damit kann man die datei ja offensichtlich komplett darstellen. pdftops will aber auch nicht konvertieren, selbst mit passwort
Code:
pdftops -upw **** file.pdf
Error: PDF version 1.6 -- xpdf supports version 1.5 (continuing anyway)
Error: Printing this document is not allowed.
(also das war jetzt mit einer "korrekten" version. wenn man die o.g. patches hinzufügt sollte das eigentlich auch gehen.

@XGhost: ja, klar :)
 

chaos

*nix'ler
Das Problem ist zwar gelöst, aber ich hätte noch eine andere Idee:

Kann gimp eigentlich mit verschlüsselten PDFs umgehen?
Bei normalen PDFs kann man bei gimp iirc wählen, welche Seite man anzeigen möchte.

Allerdings möchte ich das nicht bei mehr als, sagen wir mal, 2 Seiten mit gimp machen. ;)
 

xbit

Well-Known Member
Zur Info

Es gibt bereits eine Antwort inklusive eines Loesungsvorschlags im KDE Bugtracking System.
 

soul_rebel

ist immer auf der flucht
hm... peinlich....
es gibt eine option in den kpdf einstellungen, die den ganzen drm-mist ausschaltet...
obwohl ich mich ernsthaft frage warum die standardmäßig an ist...
 

piet99

Well-Known Member
Wobei man dazu sagen sollte, dass durch den DRM-Kram nur das Druck-Problem behoben wird. Zumindest bei den pdf-Dateien die ich gefunden habe. Keine Ahnung, wie das mit dem Passwort so läuft, eventuell gibts da mehrere Lösungen.
Meine auch mal gehört zu haben, dass das Passwort in Klartext im pdf steht?? Aber wir wissen ja alle, wie das mit dem Hören-Sagen so ist. :)

@soul_rebel
Da du anscheinend KDE nutzt, bei mir druckt kghostview anstandslos nur die Sache mit dem Passwortschutz klappt nicht.

@chaos
Mit gimp kann man nur den "Druck-Schutz" umgehen... die Passwort-Abfrage nicht. Zumindest der Export als png geht... drucken will die gimp-Schlampe gerade nicht.

cu
 

juergen

Spielkind
Code:
pdftops -upw **** file.pdf
Error: PDF version 1.6 -- xpdf supports version 1.5 (continuing anyway)
Error: Printing this document is not allowed.

Ich stand vor ähnlichen Problemen. Die erzeugte PS-Datei enthält immer noch die Beschränkung, dass die Datei nicht gedruckt werden darf. Das sieht man, wenn man sich die PS-Datei mal im Texteditor ansieht (z.B. im vim). Da kann man irgendwelchen obskuren Binary-Code bewundern.

Nach ein bisschen Probieren bin ich zu dem Dreisatz
Code:
pdf2ps
ps2ps
ps2pdf
gekommen. Damit hat es zumindest bei meiner Datei geklappt. Fragt mich aber nicht mehr nach den genauen Kommandozeilenparametern.
 

soul_rebel

ist immer auf der flucht
also was das passwort angeht:
ab pdf version 1.6 können die richtig mit AES verschlüsselt werden, also kann man ohne passwort nix hin und her konvertieren...
aber das user passwort sollte halt reichen, denn schließlich macht es auch alles sichtbar. das besagte dokument konnte von ghostview wie gesagt garnicht geöffnet werden...
das passwort und die verschlüsselung (sofern man eins der passwörter kennt) kriegt man weg wenn man durch kde's drucksystem print-to-file macht (dabei ist egal ob ps oder pdf)... die anderen beschränkungen werden dadurch auch aufgehoben, denke ich. wenn nicht ist ja auch egal, denn schließlich kann man den kram deaktivieren...
 
Oben