Word-Dokument als PDF speichern

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Steamy2010.

    Word-Dokument als PDF speichern

    Guten Morgen @ all,

    mit folgendem Code möchte ich ein Word-Dokument in ein PDF-Dokument speichern. Das PDF wird auch erstellt, allerdings ist es immer leer ?(

    Hat jemand vlt. eine Ahnung wieso ?? :?:

    Bin für jeden Tipp dankbar!! :rolleyes:

    VB.NET-Quellcode

    1. Dim wd As New Interop.Word.Applicationwd.Documents.Add("H:\Übung\Ansicht_Bearbeitungsregeln\Bearbeitungsregel\Bearbeitungsregel.docx").ToString()
    2. Dim myStream As StreamDim saveFileDialog As New SaveFileDialog()
    3. saveFileDialog.Filter = "PDF Dokumente (*.pdf)|*.pdf"
    4. saveFileDialog.FilterIndex = 2
    5. saveFileDialog.FileName = "Bearbeitungsregel"
    6. saveFileDialog.RestoreDirectory = True
    7. If saveFileDialog.ShowDialog() = DialogResult.OK Then
    8. myStream = saveFileDialog.OpenFile()
    9. If (myStream IsNot Nothing) Then
    10. myStream.Close()
    11. End If
    12. End If
    Schlimmer als ein Elefant im Porzellanladen, ist ein Igel in der Kondomfabrik und Nutella hat Lichtschutzfaktor 9,7 8)
    Also 1. sehe ich nirgends wo den Inhalt des WOrdDokumentes dem Stream zuordnest und 2. würde das eh nicht funktionierne, nur eine Datei als *.pdf abspeichern macht es nicht automatisch zu einer pdf. Ein PDF muss erstellt werden, dies passiert idR über ein virtuellen PDF Drucker an welches das Dokument gesendet wird und der virtuelle Drucker druckt das Dokument dann in eine PDF Datei.

    Mit VB kann man aber auch PDFs selbst "drucken" es gibt eine gute Library die ich selbst schonmal verwendet habe pdfsharp.com/PDFsharp/ sie wird behandelt wie man ein PrintDocument behandelt. Mittels der Graphics Klasse werden eben alle Elemente, Strings, Linien usw. in das Dokument "gemalt".

    Wie das nun mit deinem Word Dokument verheiraten kannst, kann ich dir allerdings nicht sagen.
    @Dodo
    Ab Office 2007 ist das Abspeichern einer Docx-Datei in PDF-Format ohne weitere Addons möglich.

    Beispiel:

    VB.NET-Quellcode

    1. Dim wdApp As New Word.Application
    2. wdApp.Visible = True
    3. Using dlg As New OpenFileDialog
    4. dlg.Filter = "Word (*.docx)|*.docx"
    5. If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
    6. Dim wdDoc As Word.Document = wdApp.Documents.Open(CType(dlg.FileName, Object)) ' Docx öffnen
    7. Dim saveFormat As Object = Word.WdSaveFormat.wdFormatPDF ' Zielformat festlegen
    8. Dim fileName As Object = IO.Path.Combine(IO.Path.GetTempPath, "testDoc.pdf")
    9. wdDoc.SaveAs(FileName:=fileName, FileFormat:=saveFormat) ' Speichern -> Pfad + Zielformat übergeben
    10. wdDoc.Close(SaveChanges:=False)
    11. wdApp.Quit()
    12. End If
    13. End Using