ich habe ja meine Domain amTools.de gekündigt mangels Download von meinen Programmen.
Aber es gibt ja bestimmt noch einige Anwender, die meine Tools nutzen, da sie ja weiterhin voll funktionsfähig sind.
Um beim Programmstart keine Fehlermeldung wg. der Domain zu erhalten, kann man die Updatfunktion auch komplett abschalten.
Dazu einfach wie folgt:
Öffnet einfach das Hauptprogramm und im Menü ? -> INI-Datei öffnen um die INI im Editor zu bearbeiten und fügt bzw. editiert folgenden Eintrag unter der Rubrik [General]:
1 2 3 4 5
[General] ? Autoupdate=0
Damit wir die Update-Kontrolle dauerhaft deaktiviert.
Für Fragen stehe ich hier natürlich auch weiterhin zur Verfügung.
Der Grund ist, als Thomas Heinz für FreePDF die Weiterentwicklung eingestellt hat, sind die Downloads von meinen Tools rapide zurückgegangen. Insgesamt wurden in 2018 nur noch ca. 30 Downloads durchgeführt.
Das Forum wird es zwar vorerst weiterhin geben, aber meine Programme haben sich mittlerweile auch größtenteils selbst überlebt. So ist es inzwischen möglich, mit einfachen Methoden Office-Dateien in PDF zu wandeln. Ich selber nutze mein Hauptprogramm FreePDF_Multidoc noch weiterhin. Aber auch beruflich ist die Verwendung eingestellt worden, da sich bei uns die Programmstrukturen derart verändert haben, dass ich meine Tools nicht mehr nutzen konnte.
Ich möchte mich noch einmal bei allen Teilnehmer und User meiner Programme bedanken, dass Sie mich mit Fragen und kritischen Anmerkungen immer wieder angespornt hatten.
Im Forum werde ich immer wieder einmal reinschauen und stehe für Fragen auch weiterhin gerne zur Verfügung. Aber auch hier hat sich seit der Einstellung von FreePDF die Teilnahme immer weiter reduziert.
unter Windows 10 wird von FreePDF kann nicht mehr der eigene Druckertreiber verwendet werden, sondern der Treiber 'Druckertreiber MS Publisher Color Printer'.
Dieser Treiber hat aber leider einen Schönheitsfehler, und zwar kann dieser Treiber nicht mehr randlos drucken.
Als Lösung kann folgendes machen:
1. Einen anderen Windowstreiber verwenden, der PS-Dateien speichert. Leider weiß ich hier nicht, welchen man nehmen kann. 2. Man nimmt einfach den alten FreePDF-Treiber und tauscht den 'Druckertreiber MS Publisher Color Printer' aus.
Bei der Variante 2 wird allerdings bei einem Windows-Update immer der Treiber wird zurückgeschrieben. Das bedeutet, man muss immer wieder die Treiberersetzung erneut durchführen. Und das ist einfach lästig.
Aber auch hierfür gibt es wieder eine Lösung:
Ich habe einmal eine Batchdatei erstellt, die den Druckertreiber immer wieder ersetzt:
1 2 3 4 5 6 7 8 9 10
REM Der Druckertreiber MS Publisher Color wird mit den Definitition von FreePDF.ppd aktualisiert (z. B. randloser Druck) REM siehe auch: http://www.ugg.li/freepdf-xp-unter-windows-10-fehlen-druckereigenschaften-randlos-a3a4a5-formate-etc/
if exist "%windir%\System32\spool\drivers\x64\3\MSGENCOL.PPD.BACKUP" DEL "%windir%\System32\spool\drivers\x64\3\MSGENCOL.PPD.BACKUP" ren "%windir%\System32\spool\drivers\x64\3\MSGENCOL.PPD" "MSGENCOL.PPD.BACKUP" copy "%ProgramFiles(x86)%\FreePDF_XP\freepdfxp.ppd" "%windir%\System32\spool\drivers\x64\3\MSGENCOL.PPD" net stop spooler net start spooler
Damit ihr es noch leichter habt, habe ich einmal die Dateien
- Install FreePDF_Treiber.bat und - freepdfxp.ppd (Treiberdatei v. FreePDF)
Die freepdfxp.ppd sollte sich standardmäßig im Programmverzeichnis befinden. Ist die Treiberdatei nicht vorhanden, dann kopiert euch diese einfach dorthin oder ihr ändert die BAT-Datei entsprechend ab.
Ihr müsst die BAT-Datei immer über das Kontextmenü als Administrator ausführen, damit der Treiber kopiert werden kann.
Der Originaltreiber MS Publisher wird immer als Backup gespeichert (MSGENCOL.PPD.BACKUP).
Wichtig: Ich habe die BAT-Datei mehrmals getestet und es kam bei mir nie zu Fehlern. Dennoch übernehme ich keine Gewähr und keine Haftung für Schäden am System. Bitte habt Verständnis.
Für Fragen und Anregungen stehe ich Euch hier zur Verfügung.
ich kann die FreePDF_Multidoc.exe und die amDruckerumleitung.exe für Windows 10 freigeben. Wir haben die Programme hier im Einsatz und ausgiebig getestet.
Folgende Probleme haben wir wegen Windows 10: Das liegt aber nicht an meinem Programm! 8)
1.) Der verwendete Standardtreiben MS Publisher Color Printer kann nicht randlos drucken. 2.) Druckerschifrtart Calibri kann bei uns von Haus aus nicht verwendet werden.
GhostScript Error 1 Error, no PDF file produced! (False)
Unter Windows 7 hat alles einwandfrei funktioniert. Hier wurde aber auch der Standardtreiber FreePDFXP verwendet. Ob es nun daran liegt, kann ich nicht sagen.
Folgende erfolgreiche Lösungen kann ich anbieten:
zu 1.) modifizieren den Druckertreibers
Folgt hierzu einfach der Anweisung, wie Sie hier auf der Webseite beschrieben ist. Damit konnten wir wieder alles über FreePDF ausdrucken.
7.) Treezweig PostScript-Optionen (nur hier ist eine Änderung notwendig) -> PostScript-Sprachebene: 3
Solltet Ihr Fragen haben, stehe ich euch gerne zur Verfügung.
Gruß Ahmed
P.S. Alle Modifizierungen gehen natürlich auf eigenes Risiko. Ich übernehme keine Haftung. Bei uns sind aber keine Probleme aufgetreten und alles funktioniert zu unserer vollsten Zufriedenheit.
Thema von Ahmed Martens im Forum VB-Programmbeispiele
Hallo Leute,
mit dem neuesten Update wurde der Aufruf 'PlugIn-vor' noch vorne verschoben, so dass erst das 'PlugIn-vor' und erst danach die Rangdefinition verarbeitet wurde. Damit ist jetzt möglich, über ein PlugIn Einfluss auf die Rangstellung der einzelnen PS-Dateien zu nehmen.
Folgende Situation ist gegeben:
Ausgangslage:
Es wird ein Druckpacket aus einer externen Anwendung ausgedruckt mit unterschiedlicher Anzahl an Ausdrucken. Daneben soll aus einer weiteren Anwendung zwei Ausdrucke erfolgen, die aber immer wieder abweichende PS-Titel haben. Beispiel: WP_0_123456_11626_2014_1 (fett = variabel)
Mit so einem wechselnden PS-Titel kann man keine Rangdefinition mehr erstellen, weil es in FreePDF_Multidoc keine Platzhalter gibt. Das ist auch nicht nötig. Hier behelfen wir uns jetzt mit einem 'PlugIn-vor'.
Das ganze geht so schnell, dass ihr überhaupt keinen Zeitverzug bemerkt.
Lösung:
Mit nachfolgendem VBSript ist es jetzt möglich, die PS-Titel auszulesen und die notwendigen PS-Dateien so zu ändern, dass diese gemäß allgemeingültiger Rangdefinition verarbeitet werden kann.
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") Dim WSHShell : Set WSHShell = WScript.CreateObject("WScript.Shell") Dim f, p, fc Dim PS_Titel
Set p = fso.GetFolder("C:KanzleiSoftwareFreePDF_MultidocPS_tmp") set f = p.Files
for each fc in f PS_Titel = Find_PSTitel(p.Path & "" & fc.Name)
If IsBericht(PS_Titel)=True Then 'alte Version: "Microsoft Word - Anhang.docx" Call SetPS_Titel(p.Path & "" & fc.Name,PS_Titel, "Microsoft Word - Anhang.docx") End If Next
Function IsBericht(s) 'Prüfung ob es ich um Anhang aus BiBer handelt
If (InStr(1,s,"AppDataLocalTemp")>0) Or _ (Right(s,4) = ".rtf") or _ (InStr(1,s,"Anlagenspiegel")>0) Or _ (s="Microsoft Word - Anhang.docx") Then
IsBericht=False
ElseIf Left(s,3)="WP_" Then
IsBericht=True
End If
End Function
Function Find_PSTitel(Datei) 'PS-Titel aus der Postscript-Datei auslesen
Dim FileIn Dim tmpStr
Set FileIn = FSO.OpenTextFile(Datei, 1 ) ' Datei zum Lesen öffnen
Do While Not (FileIn.atEndOfStream) ' wenn Datei nicht zu ende ist, weiter machen tmpStr = FileIn.Readline If InStr(1, tmpStr, "%%Title:", vbTextCompare) 0 Then 'Gefunden Find_PSTitel= Trim(Right(tmpStr, Len(tmpStr) - Len("%%Title:"))) Exit Do End If Loop
End Function
Function SetPS_Titel(Datei,TitelOld, TitelNew) Dim PSFile Dim sStream Set PSFile = fso.OpenTextFile(Datei,1)
sStream = PSFile.ReadAll sStream=Replace(sStream,"%%Title: " & TitelOld,"%%Title: " & TitelNew,1,vbTextCompare) PSFile.Close
Set PSFile = fso.OpenTextFile(Datei,2)
PSFile.Write(sStream) PSFile.Close
End Function
Das Script könnte man auch noch so erweitern, dass Variablenwerte mit verarbeitet werden können. Aber auch das sollte kein Problem mehr darstellen, da ich in anderen Beispielen die Verwendung von Variablen dargestellt habe. In meinem Fall reichte es aus, einfach auf die ersten Buchstaben zu prüfen, da diese als Auswahlkriterium ausreichten.
Sollten noch Fragen bestehen, dann meldet Euch einfach.
auf meiner neuen Domain hat es einige Fehler gegeben. So konnten einige Webseiten nicht aufgerufen werden und auch die Updates konnten nicht heruntergeladen werden.
Ich habe jetzt hoffentlich alle Fehler behoben und es sollte jetzt wieder alles einwandfrei funktionieren.
Die alte Webseite ist noch für Downloads über die Programme freigeschaltet, da ich noch Updates auf die neue Domain erstellen muss. Das kann aber noch ein paar Tage dauern. Also nicht wundern.
Unter der alten Domain habe ich eine automatische Umleitung eingerichtet, damit die OH über die Programme auch noch funktioniert.
ich habe durch Zufall festgestellt, dass die Updatefunktion nicht mehr richtig ausgeführt wird.
Ich werde mich in nächster Zeit darum kümmern und die Funktionalität wiederherstellen.
Geplant ist eine automatische Versionsüberprüfung einzuführen und den Anwender auf vorhandene Updates hinzuweisen. Man muss also nicht mehr manuell die Überprüfung durchführen.
Ich komme aber im Augenblick nicht dazu.
Ich möchte Euch daher bitten, einfach die Updates manuell aus dem Internet herunterzuladen.
heute habe ich wieder einmal ein Update für mein Tool FreePDF_Multidoc online gestellt.
Folgende Neuerungen sind hinzugekommen:
1. Neuer Rangtyp absolut Auswertungen werden einer festen Rangposition zugeordnet. 2. Ränge mit Variablen in der Druckjob-Einrichtung möglich 3. Autorun-Drucker mit Multifunktion möglich => Schalter /run (s. OH) 4. Blacklisteinträge überarbeitet 5. [...]
ich habe gemerkt, dass die OH bezüglich der Blacklisteinträge versehentlich falsch war.
Falsch war, dass ich darauf hinwies, das die Blacklisteinträge aus der INI genommen werden, aus der der Druckjob stammt.
Richtig ist vielmehr, das alle Blacklisteinträge in folgender Reihenfolge geprüft werden:
1. lokale INI 2. Netzwerk-INI
Das hatte ich seinerzeit umgestellt, damit netzwerkweite Einträge sofort für alle Anwender berücksichtigt werden und kein unnötiges kopieren notwendig ist.
Thema von Ahmed Martens im Forum VB-Programmbeispiele
Hallo Leute,
heute habe ich ein neues Update erstellt, mit dem Plug-In's auch per Variablen gesteuert werden können. Damit kann man z. B. auf ganz einfache Weise individuelle Mails erstellen (z. B. persönliche Anrede).
Dim objFSO Dim objFile Dim sMail Dim sKey Dim sAnrede
Set Ag = WScript.Arguments sKey = Right(ag(0),Len(ag(0))-1)
Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDictionary = CreateObject("Scripting.Dictionary")
With objDictionary .Add "a.martens@gmx.de+ahmed@gmx.de","Sehr geehrter Herr Martens," .Add "mustermann@gmx.de","Sehr geehrter Herr Mustermann," .Add "anton.muster@gmx.de","Sehr geehrter Herr Muster," .Add "m.muster@gmx.de+info@gmx.de","Hallo Frau Musterfrau," End With
If objDictionary.Exists(sKey) Then sAnrede= objDictionary.Item(sKey) Else 'Standartanrede sAnrede = "Sehr geehrte Damen und Herren," End If
'OL-HTML-Vorlagen
Const oolTemplate=2 Const olByValue = 1
Dim oOApp Dim oOMail Dim olVorlage Dim myMsgtext Dim sPath
Set oOApp = CreateObject("Outlook.Application")
'Mailvorlage sPath = "C:UsersAhmedAppDataLocalFreePDF_MultidocPlugIn" olVorlage = sPath & "MA66_BF.oft" Set oOMail = oOApp.CreateItemFromTemplate(olVorlage)
objFSO.MoveFile olVorlage, sPath & "~MA66_BF.oft"
case "anton.muster@gmx.de" oOMail.Attachments.Add "C:UsersAhmedDocumentsDemo.docx", olByValue, 1 End Select
olVorlage = sPath & "MA66_BF.oft" oOMail.SaveAs olVorlage , oolTemplate
Set oOMail = Nothing Set oOApp = Nothing wscript.sleep 1000
2. Plug-In nach:
Plug-In-Dateiname: Set_StandardMail.vbs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Dim objFSO Dim olVorlage Dim sPath
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Mailvorlage sPath = "C:UsersAhmedAppDataLocalFreePDF_MultidocPlugIn" olVorlage = sPath & "MA66_BF.oft"
objFSO.DeleteFile olVorlage objFSO.MoveFile sPath & "~MA66_BF.oft", olVorlage
WScript.sleep 1000
Bedeutung:
1. Plug-In vor:
In dem 1. Script wird eine sog. Dictionary verwendet, so dass für jeden Mailempfänger (Key) eine persönliche Anrede hinterlegt wird. Ist der Empfänger unbekannt, wird einfach eine Standardanrede verwendet. Im 2. Schritt wird jetzt die Standardmail, die im Druckjob verwendet werden soll vorher auf Variablen geprüft und ausgelesen. Als Parameter wird einfach die Mailempfänger, die in dem Mailcode verwendet wird, übergeben.
Der VBS-Aufruf im Plug-In lautet einfach wie folgt (s. auch OH):
Zitat"C:...Create_Mail.vbs" /
Die Variablen werden in dem Variableneingabeformular vorher befüllt und dann an das Plug-In übergeben. Das Plug-In ersetzt jetzt die in der Mail hinterlegten Platzhalter ({@Anrede@}) mit dem gefundenen Wert. Bitte nicht {} verwenden, da dies die Kennung für Variablen ist.
Danach wird die Standardvorlage unter einem Temp-Namen gespeichert. Die überarbeitete Mail wird unter dem Vorlagennamen gespeichert, so dass der Druckjob auf diese neue Mail zugreifen kann.
Alle weiteren Änderungen werden jetzt über FreePDF_Multidoc in gewohnter Weise durchgeführt.
Des Weiteren wird jetzt über eine Select Case-Anweisung für bestimmte Mailempfänger noch zusätzlich Dateien als Anlagen hinzugefügt (siehe auch andere Beispiele für mehrere Anlagen).
2. Plug-In nach:
Nachdem die Mail erstellt wurde, wird jetzt die modifizierte Vorlage einfach wieder gelöscht und die Temp-Vorlage wieder umbenannt. Damit ist der Urzustand wieder hergestellt worden.
Ich glaube das Prinzip sollte damit klar sein. Der Umweg über eine kopierte Mail muss deshalb sein, da ja aus der Mail auch die Variablen ausgelesen werden können. So muss die Mail unter dem Originalnamen schon existieren.
Das gleiche Prinzip ist natürlich auch für eine Textmail anzuwenden.
heute habe ich wieder in kleines Update online gestellt. Im Wesentlichen handelt es sich nur um kleinere Fehlerkorrekturen bzw. Work-Flow-Verbesserungen.
Einzig wesentliche Neuerung ist, dass bei Verwendung der PDFtk-Server die PDFtk.exe nicht mehr im Programmverzeichnis installiert sein muss.
Für weitere Info siehe Update-Info bzw. meine Webseite.
Wie immer gilt, sollten noch weitere Fehler auftauchen, bitte ich um eine kurze Info damit ich diese abstellen kann.
F: AutoNumber anstelle der Zelladressen in der Kommentarliste B: Es konnte vorkommen, dass anstelle der Kommentarliste das aktive Tabellenblatt gelöscht wurde.
Für weitere Infos siehe meine Webseite unter Tools.
heute habe ich ein Update online gestellt, womit u. a. kleinere Fehler behoben wurden.
2 Neuerungen sind ebenfalls hinzugekommen.
1. Combobox-Assistent für die Variableneinrichtung 2. In allen Formularen kann man Einträge mit Strg+Cursor auf/ab verschieben 3. benutzerdefinierte Datumsformate über Funktion z.B. {D=dd.mm.yyyy} in dem Datumsformat können auch beliebige feste Texte mit "" verwendet werden. Variablen werden wie gewohnt verwendet.
Beispiel: Feste Texte: {D="am "dd. mmm "-Rechnung für Jahr "yyyy} Variable: {D=}
Bei Fragen oder Fehler/Problemen bitte hier melden.