Seite 1 von 1
"Creator Tool" in den PDF Eigenschaften
Verfasst: Sa, 30. Jan 2021 13:22
von ramses
Hallo zusammen
List&Label füllt beim Datenexport als PDF in den PDF-Eigenschaften die markierten Felder ein:
- pdf-eigenschaften.jpg (174.95 KiB) 7461 mal betrachtet
Ein Empfänger der diese PDF's erhält verlangt nun ultimativ dass diese beiden Felder leer sind oder aber eine Firmenbezeichnung des Erstellers / Absenders enthalten.
Hat L&L Export-Parameter die den Inhalt der erwähnten Felder ändern und bereits beim Export richtig befüllten können?
Kennt die jemand?
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Sa, 30. Jan 2021 19:28
von Tom
Ich glaube, ich kann Dir in dieser Sache am Montag weiterhelfen, Carlo.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Sa, 30. Jan 2021 19:54
von ramses
Tom hat geschrieben: ↑Sa, 30. Jan 2021 19:28
Ich glaube, ich kann Dir in dieser Sache am Montag weiterhelfen, Carlo.
Hallo Tom
Danke, das wäre schön.
(Die aktuelle Version L&L 26 befült nur noch das untere Feld mit dem Inhalt der jetzt im oberen Feld steht. )
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 10:20
von Tom
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 11:10
von ramses
Hallo Tom
Danke für den Link. Geht abr leider nicht.
PDF.Creator ändert die Eigenschaft "Anwendung" das ist aber mit L&L 26 sowieso leer.
Für das Feld "PDF erstellt mit" finde ich nichts.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 11:30
von Tom
Ja. Ich meine, ich hatte da was in der Knowledgebase von Combit gefunden, das habe ich im Office dokumentiert, deshalb erst morgen.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 11:35
von Tom
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 11:51
von ramses
Hallo Tom
Danke für den Link.
Den habe ich auch gefunden. Die Anmerkung stammt aus 2018 als Comit anscheinend noch wPDF4 aufführen musste.
Das ist leider dem Kunden des Kunden der die Einträge beanstandet und deshalb reklamiert hat sowas von egal.
Er will den Eintrag nach seinen Wünschen gefüllt oder am besten entfernt haben, sein Ultimatum läuft ......
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 11:59
von Tom
Hallo, Carlo.
Aber, wie dort auch nachzulesen ist - diese Einträge haben lizenzrechtliche Hintergründe. PDF-Erstellung ist mit Lizenzbedingungen belegt. Genau genommen ist das, was Dein Kunde fordert, nicht rechtmäßig.
Allerdings sind das simple XML-Tags im Dokument, die man auch mit einem Editor auslesen, parsen und korrigieren kann:
- pdf.png (16.91 KiB) 7395 mal betrachtet
(Was mit Vorsicht zu genießen ist, denn ich konnte das zwar ad hoc ändern, aber das Dokument war im Reader leer. Irgendwie aber muss das gehen, solange es nicht PDF/A ist.)
Mehr dazu hier:
https://exiftool.org/TagNames/PDF.html
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 12:17
von ramses
Hallo Tom
der Jochen Bartlau von Combit hat in dem Thread in einem weitere Beitrag auch geschrieben dass nach der Erstellung des PDF's die Einträge völlig frei sind und diese auch beliebig geändert werden dürfen.
Mit dem Editor bin auch am Testen und habe wie du auch immer leere Dokumente blöderweise müssen es zudem PDF-A3a sein.
Weisst du es ist so: So lange die Konkurenz passende Dokumente bereit stellt bleibt uns nichts anders übrig als die Forderungen zu erfüllen oder aber dann mit den recht unangenehmen Folgen umzugehen ......
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 12:21
von Tom
Ich befasse mich morgen damit. Wir finden eine Lösung!
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 18:58
von ramses
Hallo Tom
ich habe schon mal einen Umweg gefunden der es erlaubt die PDF-Eigenschaften nach dem erstellen noch beliebig zu ändern ohne es zu zerstören.
Die Anzeige funktioniert noch immer einwandfrei. Schöner wäre wenn L&L das Feld "PDF erstellt mit" gleich beim erstellen wunschgemäss bestücken
könnte.
- pdf-eigenschaften.jpg (163.14 KiB) 7407 mal betrachtet
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 20:04
von HaPe
Hallo Carlo !
Ich habe schon mal einen Umweg gefunden der es erlaubt die PDF-Eigenschaften nach dem erstellen noch beliebig zu ändern ohne es zu zerstören.
Prima.
Läßt du uns den Weg deines Umweges zukommen.
Es gibt sicher noch mehr L&L-Anwender die das nützlich finden könnten.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 21:52
von Tom
Binär einlesen und Tags ersetzen, nehme ich an.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: So, 31. Jan 2021 22:02
von ramses
Hallo Tom
nein. Binär einlesen und Tags ersetzten geht überhaupt nicht. Das zerstört die Struktur Pointer/CRC des Files oder es dauert sehr lange bis sich das Eigenschaftenfenster dann auch öffnet und der Reader zeigt (Keine Rückmeldung) ......
Schau mal weiter unten.
Hallo Hans-Peter
aber sicher. Heute habe in der Not die folgende Funktion geschrieben die auf der HBPrintPDF Klasse von
www.familie-brandel.de und der Quickpdf DLL aufbaut. Die HBPrintPDF Klasse habe ich abgewandelt und radikal auf die benötigten Teile gekürzt und ein Funktionsset zur Manipulation von PDF aufgebaut.
Damit bin ich jetzt am rum testen.
Code: Alles auswählen
// -------------------------------------------------------------------------------------
// HBPrint_SetPDFProperties --> Properties in PDF Files setzen
//
// cPDFName PDFFile zur Bearbeitung
// cPDFOutput Ausgabefile oder NIL für Eingabefile
//
// aVarArr Array mit den zu setzenden Parameter --> arr := {{"Title","Iron Bank of Braavos"},{"Creator","Valar Dohaeris"},{"Author","Daenerys Targaryen"},{"Producer","Rhaegal and Viserion"}}
//
// lWebApp .t. Keine Anzeige --> Fehlerrückgabe nur in cErrorText
//
// cErrorText per Referenz enth„lt Fehlermeldung
// cTempPath Pfad wenn nicht Windows - Standard verwenet werden soll
//
// lSetModiDate wenn .t. wird aktuelles Dateum und Zeit als Modi gesetzt
//
// Return .t. = File geschrieben
//
//
// erstellt: 31.01.21/cs letzte erweiterung: 31.01.21/cs
// Status: TEST
// -------------------------------------------------------------------------------------
// Para: ( cPDFName, cPDFOutput, aVarArr, lWebApp, cErrorText, cTempPath, lSetModiDate )
//
//
// Bsp.
//
arr := {{"Title","Iron Bank of Braavos"},{"Creator","Valar Dohaeris"},{"Author","Daenerys Targaryen"},{"Producer","Rhaegal and Viserion"}}
HBPrint_SetPDFProperties( "e:\testfile.pdf", nil, arr, nil, nil, nil, .t. )
function HBPrint_SetPDFProperties( cPDFName, cPDFOutput, aVarArr, lWebApp, cErrorText, cTempPath, lSetModiDate )
local oObjPDF := nil, a, i
local ret_val := .f.
// 0 = PDF Version, 1 = Author, 2 = Title, 3 = Subject, 4 = Keywords, 5 = Creator, 6 = Producer, 7 = CreationDate, 8 = ModDate, 9 = XMP dc:subject, 10 = XMP xmpMM:subject
local arr := {{"Author",""},{"Title",""},{"Subject",""},{"Keywords",""},{"Creator",""},{"Producer",""},{"CreationDate",""},{"ModDate",""}}
default lWebApp to .f. , cPDFOutput to cPDFName, lSetModiDate to .t., aVarArr to {}
cErrorText := ""
do while .t.
if !hbprint_checkISLWPA(@cPDFName, @cErrorText, .f., "pdf" ) // Check Laufwerk/UNC Path File Ext und File Vorhanden
exit
endif
cPDFOutput := lower(alltrim(cPDFOutput))
oObjPDF := hbPrintPDF():new():create(cTempPath) // setzt A4 / Abgewandelte und gekrzte Klasse ohne BS-Meldungen
if !oObjPDF:IsOK
cErrorText := oObjPDF:cErrorText
exit
endif
if !oObjPDF:loadFromFile( cPDFName )
cErrorText := "PDF-File: " + cPDFName + " kann nicht geladen werden."
exit
endif
i := -1
for a = 1 to len(aVarArr)
i := ascan(arr, {|x|upper(aVarArr[a,1])==upper(x[1])} )
if i != 0
arr[i,2] := aVarArr[a,2]
else
cErrorText := "Unbekannte Info Var: " + var2char(aVarArr[a])
exit
endif
next
if i = 0
exit
endif
for a = 1 to len(arr)
oObjPDF:SetInformation(a,arr[a,2])
next
if lSetModiDate
oObjPDF:SetInformation(8,"D:"+dtos( date()) + strtran( time(),":","") + "+01'00'" ) // D:YYYYMMDDHHmmSSOHH'mm'
endif
if !oObjPDF:savetofile(cPDFOutput)
cErrorText := "PDF-File: " + cPDFOutput + " konnte nicht geschrieben werden."
else
ret_val := .t.
endif
oObjPDF:RemoveDocument( oObjPDF:GetDocumentID() )
exit
enddo
if oObjPDF != NIL
oObjPDF:destroy()
endif
if !lwebApp .and. !empty(cErrorText)
cErrorText := "HBPrint_FillDocVars -> " + cErrorText
msgbox(cErrorText)
endif
return( ret_val )
// -------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 9:50
von Tom
Wenn ich das in den PDF-Spezifikationen richtig verstanden habe, sind diese Tags mit einer Historie im Dokument ausgestattet. Habe ich das richtig verstanden?
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 14:32
von ramses
Hallo Tom
da bin ich überfragt. Momentan fehlt mir auch die Zeit weiter zu suchen.
Combit meint zum ganzen Thema: Das Feld ist Codeseitig nicht setzbar und kann von aussen nicht beeinflusst werden. ....
Daher haue ich mit obiger Funktion alle Metadaten raus ..... mal auf die Anwort des Empfängers warten.
Wenn das nicht reicht müsste der Absender jedes PDF mit Adobe bearbeiten und die Metadaten löschen. Wäre auch toll oder?
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 15:18
von brandelh
Mit dem Adobe würde ich das nicht machen
Dafür nimmt man die QuickPDF (auch über HBPrintPDF(), wobei für die Lite manuelle Anpassungen nötig wären (die 11er auf die DLL Namen anpassen):
SetInformation()
Document properties
This function is available in the Lite Edition of Debenu Quick PDF Library, see Appendix C.
Description
Set the properties of the selected document.
For the CreationDate and ModDate (modification date) properties, the format of the date should be: D:YYYYMMDDHHmmSSOHH'mm' ...
ActiveX
Function DebenuPDFLibrary1114.PDFLibrary::SetInformation(Key As Long,
NewValue As String) As Long
DLL
int DPLSetInformation(int InstanceID, int Key, wchar_t * NewValue);
Parameters
Key The property to set:
0 = PDF Version
1 = Author
2 = Title
3 = Subject
4 = Keywords
5 = Creator
6 = Producer
7 = CreationDate
8 = ModDate
9 = XMP dc:subject
NewValue The new value of the specified property.
Return values
0 The specified information could not be set. Use the LastErrorCode function to
determine the reason for failure.
1 The specified information was set successfully
Der
Creator oder
Producer sollte das sein was du suchst.
Wir setzen Author, Titel und einiges andere (Sprungadressen etc.)
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 16:17
von ramses
Hallo Hubert
damit habe ich schon etwas gebaut.
schau mal den Code unter
https://www.xbaseforum.de/viewtopic.php ... 44#p137549
Irgendwie kann es doch nicht Sinn der Sache mit einem Tool etwas zu erstellen und dann mit einem anderen Tool das Ganze erst gebrauchsfertig zu machen.
Irgenwie komisch, schon wieder ein anderer Kunde der die Metadaten aus den PDF's entfernt haben will/muss.
Sind die Metadaten plötzlich in Verruf gekommen?
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 17:05
von brandelh
Also das erstellende Programm sollte kein Problem darstellen (aber Leute gibts) ...
aber bei uns war je nach PDF Treiber teilweise der Name des Benutzers, seine Kennung oder auch sein Anmeldename bei Windows in solchen Infos vorhanden, das will niemand !
PS: kann sein, dass letzteres bei Word Dokumenten eingefügt wurden, die man nach PDF gewandelt hat, ist schon ne Weile her.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 19:38
von ramses
Habe noch eine andere einfachere Möglichkeit den "Producer" String in L&L PDF-File zu entfernen gefunden.
Der Versuch die Zeichen zu entfernen hat nicht funktionert, diese mit Leerzeichen zu überschreiben scheint zu funktionieren.
Dazu reichen die Xbase Funktionen aus. Mit den Files die ich bis jetzt getestet habe läuft dies einwandfrei. BIS JETZT.
Code: Alles auswählen
// --- Entwurf / Grundlagentest -- ohne Fehlerbehandlung
function removeCombit( cFilename ) // Entfernt den Combit Producer String in PDF der Version 26.1.
local cBuffer, nHandle, nLen, i := 1, t , n := 0 // WICHTIG; Die Zeichen müssen ersetzt NICHT entfernt werden
nHandle := FOpen(cFilename,FO_READWRITE+FO_SHARED)
if nHandle > 0
nLen := fsize( nHandle)
cBuffer := space( nLen )
fread( nHandle, @cBuffer, nLen )
do while .t.
i := at("combit",cBuffer, 1)
if i = 0
exit
endif
t := " "
n ++
do while t != ")"
t := substr(cBuffer,i,1)
cBuffer := stuff(cBuffer,i,1," ")
i ++
enddo
enddo
if n != 0
fseek(nHandle, 0, FS_SET )
fwrite( nHandle, cBuffer )
endif
fclose( nHandle)
endif
return( n != 0 )
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Mo, 01. Feb 2021 19:52
von ramses
brandelh hat geschrieben: ↑Mo, 01. Feb 2021 17:05
Also das erstellende Programm sollte kein Problem darstellen
Hallo Hubert
Doch auch. Die wollen die Felder einfach leer.
Re: "Creator Tool" in den PDF Eigenschaften
Verfasst: Sa, 06. Feb 2021 20:20
von ramses
Viele PDF- Dokumente begleiten ein Produkt durch viele "Hände" und bleiben über Jahre in Archiven.
Die Dokumente dürfen keine "Versteckten" Info-Daten enthalten also nichts das nicht auch in gedruckter Form auf dem Ausdruck gedruckt erscheint.
Eine Metadaten Struktur darf enthalten sein Sie darf einfach KEINE Daten enthalten die irgendwelche Rückschlüsse zulassen.
Das gilt auch für alle Datumsangaben und uuid.
Ich habe nun mit xbase eine Funktion geschaffen, zugeschnitten auf unsere PDF-Files welche diese scannt und alle betreffenden Metadaten in den Dateien entfernt ohne dass deren Inhalt der entfernt werden muss angegeben muss. Der Aufruf ist einfach: PDF_METADataCleaner(cPDFName)
Mit allen unseren vorhandenen PDF Dateien hat dies schnell und einfach funktioniert.
Hat noch jemand Interesse oder das selbe Anliegen?