Autor Thema: E-Mail als pdf ablegen  (Gelesen 18516 mal)

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
E-Mail als pdf ablegen
« am: 19.11.08 - 10:21:23 »
Hi zusammen,

Hab inzwischen schon einige Funktionen im Web gefunden, die mir z.B. Attachments von Mails auf der Festplatte speichern.

Jetzt bin ich allerdings noch auf der Suche nach einer Funktion, mit der ich nur Mails in pdf konvertiert auf der Festplatte speichern kann. Diese Funktion würde ich gerne in unsere Mail-Schablone integrieren, da das Geschrei danach sehr groß ist.

Das Exportieren der Mail bzw. des Inhalts ist ansich kein Problem, ich krieg das schon so hin, dass ich am Ende ein Word-Dokument habe. Aber wie krieg ich denn dann den Dreh hin, dass er automatisch das Dokument in pdf konvertiert?

Mit einem pdf-Drucker? Ja ok, aber den müsste ich ja vorher erstmal setzen? Der Benutzer soll möglichst wenig davon mitkriegen.

Danke für alle Tipps, evtl. Links usw.!

Mathias

Offline mde

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Das ist Notezig
Re: E-Mail als pdf ablegen
« Antwort #1 am: 19.11.08 - 10:32:00 »
Hi,

ich habe so etwas selber noch nicht programmiert aber wenn ihr den Adobe writer auf den Clients installiert habt kann man darüber aus Notes PDF erstellen.
Schau mal hier nach:
http://searchdomino.techtarget.com/tip/1,289483,sid4_gci1176495,00.html

Gruß Michael
Erst Kopf,
dann Knopf.

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Re: E-Mail als pdf ablegen
« Antwort #2 am: 19.11.08 - 13:40:59 »
Hi Michael,

Danke für deinen Link! Da müsst ich nur recht viel selber machen (hab bisher noch nix mit Java usw. gemacht).
Habe irgendwie (jaja Schande über mein Haupt ;)) gehofft, dass so eine Funktion in einer fertigen Datenbank schon vorhanden ist.

Vielleicht hat ja noch jemand etwas für mich?

y20frank

  • Gast
Re: E-Mail als pdf ablegen
« Antwort #3 am: 20.11.08 - 08:50:07 »
Versuch's doch mal mit dem frei nutzbaren PDFCreator (Download aus dem Web: http://www.pdfforge.org/products/pdfcreator/download).
Das Ding kann man von Notes aus über die COM Schnittstelle ansteuern. Mach ich derzeit auch für einige Datenbanken (Beispielscript hätte ich da)... Die Notes-Dokumente und deren Office-Anhänge werden je zu einem PDF zusammengeführt und dem Notes-Dokument wieder angehängt. So werden derzeit ca. 800 Dokumente / Stunde in PDF umgewandelt.
Als kommerzielle Lösung gibt es den ePDF Server von Groupware - von dem Ding kann man halten was man will. Die Idee ist genial, die Performance allerdings ziemlich schlecht (da das Ding PDFs sequentiell konvertiert dauert es ewig, bis man 100 Dokumente als PDF zurück geliefert bekommt). Ach so, man braucht dafür natürlich auch einen eigenen Server... ;-p
LG
Frank


klaussal

  • Gast
Re: E-Mail als pdf ablegen
« Antwort #4 am: 20.11.08 - 08:57:06 »
Zitat
(Beispielscript hätte ich da)...

Vielleicht wäre es eine nette Geste, das Script in der Rubrik "Downloads" abzulegen ....

(oder soll ich mal eben nach Dortmund kommen  (15 km)  ;D  ) ?

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Re: E-Mail als pdf ablegen
« Antwort #5 am: 20.11.08 - 09:10:04 »
@Frank: Ja so ein Beispielscript wär schon was feines :)

y20frank

  • Gast
Re: E-Mail als pdf ablegen
« Antwort #6 am: 20.11.08 - 09:16:25 »
Script-Beispiel:

Code
Sub Initialize
' -------------------------------------------------------------------
' --- Deklarationen / Settings
' -------------------------------------------------------------------
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc, docPG As NotesDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim dc As NotesDocumentCollection
Set dc = db.UnprocessedDocuments
ok = Messagebox("Wollen Sie die " & dc.Count & " ausgewählten Dokumente mit dem PDFCreator konvertieren?", 4+32, "PDFCreator | Konverter")
If ok = 7 Then Exit Sub
' -------------------------------------------------------------------
' --- Globale Konfiguration einlesen
' -------------------------------------------------------------------
Set docPG = db.GetProfileDocument("($Config)")
cfg_pcspfad = docPG.cfg_PCSPfad(0)
If Right(cfg_pcspfad, 1) <> "\" Then cfg_pcspfad = cfg_pcspfad & "\"
cfg_pcsfile = docPG.cfg_PCSFile(0)
cfg_pcsattfile = docPG.cfg_PCSAttFile(0)
cfg_pcsformat = Lcase(docPG.cfg_PCSFormat(0))
cfg_pcsfile = cfg_pcsfile & "." & cfg_pcsformat
' PDFCreator "simuliert" Verwendung des PDF Servers (Felder setzen)
cfg_pcs_epdfsim = docPG.cfg_PCS_ePDFSim(0)
If cfg_pcs_epdfsim <> "" Then
cfg_resultcodegw = docPG.ResultCodeGW(0)
If cfg_resultcodegw = "" Then cfg_resultcodegw = "131"
cfg_pcsfile = docPG.cfg_ePDF_OutputFileName(0)
End If
fpath = cfg_pcspfad
ffile = cfg_pcsfile
' -------------------------------------------------------------------
' init PDFCreator
Set oPDFC  = CreateObject("PDFCreator.clsPDFCreator")
oPDFC.cStart("/NoProcessingAtStartup")
oPDFC.cOption("UseAutosave") = 1
oPDFC.cOption("UseAutosaveDirectory") = 1
oPDFC.cOption("AutosaveFormat") = 0    ' 0=PDF, 1=PNG, 2=JPG, 3=BMP, 4=PCX, 5=TIFF, 6=PS, 7= EPS, 8=ASCII
DefaultPrinter = oPDFC.cDefaultprinter
oPDFC.cDefaultprinter = "PDFCreator"
oPDFC.cClearCache
oPDFC.cOption("AutosaveDirectory") = fpath
oPDFC.cOption("AutosaveFilename") = ffile
Set doc = dc.GetFirstDocument
unid = doc.UniversalID
c = 0
Do Until doc Is Nothing
c = c + 1
oPDFC.cPrinterStop = True
' document was already converted
If doc.ePDF_flg(0) > "" Then
Print "Document was alreday converted!"
Goto weiter
End If
' print NotesDocument at first ...
i = 1
Set uidoc = ws.EditDocument (False, doc)
Call uidoc.Print(1)
Call uidoc.Close(True) ' If True, the document is immediately closed. If False, closing the document may be delayed
Set rtitem = doc.GetFirstItem( "Body" )
If Not doc.HasEmbedded Then
Goto no_object
End If
If Not rtitem Is Nothing And rtitem.Type = RICHTEXT Then
Forall o In rtitem.EmbeddedObjects
i = i + 1
Print fpath & o.Name
Call o.ExtractFile( fpath & o.Name )
' check if attachment is printable
isPrintable = oPDFC.cIsPrintable(fpath & o.Name)
If isPrintable = False Then
Print "Converting: " & unid & " " & o.Name &  " An error is occured: File is not printable! ", 0+16, ""
Goto weiter ' Weiter mit nächstem Dokument
End If
' and now print all attachments
Print "Printing -> " & fpath & o.Name
oPDFC.cPrintfile(fpath & o.Name)
End Forall
End If
no_object:
' count print jobs in queue
Do Until oPDFC.cCountOfPrintjobs = i
Doevents
Loop
' combine all print jobs to one document
oPDFC.cCombineAll
oPDFC.cPrinterStop = False
' let PDFCreator print all jobs from queue
Do Until oPDFC.cCountOfPrintjobs = 0
Doevents
Loop
' release
Sleep(.1)
oPDFC.cDefaultprinter = DefaultPrinter
oPDFC.cClearcache
Sleep(.1)
' attach created PDF file
If cfg_pcsattfile <> "" Or cfg_pcs_epdfsim <> "" Then
Set rtitem = doc.GetFirstItem("Body")
If rtitem Is Nothing Then
Set rtitem = doc.CreateRichTextItem( "Body" )
End If
Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", fpath & ffile )
If cfg_pcs_epdfsim <> "" Then
doc.ePDF_flg = Date$ & " " & Time$ & " PDFCreator"
doc.ResultCodeGW = cfg_resultcodegw
End If
Call doc.Save( True, True )
End If
Print "Converting document " & c & " / " & dc.Count
weiter:
Sleep(1)
Set doc = dc.GetNextDocument(doc)
Loop
Set oPDFC = Nothing
Print dc.Count & " Dokumente verarbeitet."
Dim uiview As NotesUIView
Set uiview = ws.CurrentView
Call uiview.DeselectAll
Exit Sub
error_handle:
' Handle your own error handle ... ;-p
End Sub

klaussal

  • Gast
Re: E-Mail als pdf ablegen
« Antwort #7 am: 20.11.08 - 09:27:53 »
Danke !  :D :D :D

y20frank

  • Gast
Re: E-Mail als pdf ablegen
« Antwort #8 am: 20.11.08 - 09:45:04 »
Gerne.... Script müsst ihr aber noch anpassen , denke aber der kern ist allgemein brauchbar.
Gruß nach Herne (hoch lebe der Pott).,

LG
Frank

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Re: E-Mail als pdf ablegen
« Antwort #9 am: 21.11.08 - 10:44:22 »
Ok danke :)
Mal schauen was sich daraus basteln lässt :)

Offline stf

  • Frischling
  • *
  • Beiträge: 31
  • Geschlecht: Männlich
Re: E-Mail als pdf ablegen
« Antwort #10 am: 21.11.08 - 12:51:20 »
Hi Frank,

schönes Script...

habe mich mit meinen begrenzten Möglichkeiten darüber hergemacht und habe prompt ein Problem....

Bei mir bleibt das Script hängen wenn ich Dateien mit Anhang umwandle
und zwar bei (glaube ich)
      ' count print jobs in queue
      Do Until oPDFC.cCountOfPrintjobs = i
         Doevents
      Loop
hängen bleiben heißt: Prozessorauslastung geht hoch und LN lässt sich nicht mehr kontrollieren
mit STRG + Unterbrechen kann ich das dann beenden.

Wenn ich o.g. Teil rausnehme, werden nicht alle ausgewählten Mails konvertiert...(sondern wenn ich Glück habe nur das erste)

Bei Mails ohne Anhang funktioniert das Script (ohne den oberen Teil)

Kannst Du Dir einen Reim darauf machen?

Übrigens: LN Vers. 7.03 PDFCreator 0.9.6

Danke
Stefan

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: E-Mail als pdf ablegen
« Antwort #11 am: 21.01.09 - 13:19:39 »
Danke für das Script.
Ich habe es umgebaut und passt soweit fast perfekt.
Nur wird bei mir leider oPDFC.cCombineAll und oPDFC.cPrinterStop = True/False nicht gemacht.
Die Com Hilfe gibt leider nicht so viel her. Setzen die zwei befehle irgendwas voraus ?
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: E-Mail als pdf ablegen
« Antwort #12 am: 21.01.09 - 19:47:06 »
such mal bei openntf iText da gibt es eine Java Lösung hat den Vorteil Du mußt nix installiert haben ....
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: E-Mail als pdf ablegen
« Antwort #13 am: 22.01.09 - 15:25:09 »
Danke. Aber ich denke, da ich nun mit dem script schon eine optimale lösung habe macht es nicht viel Sinn, kurz vor Abschluss auf eine andere Möglichkeit zu setzen.

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz