🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Problem bei PDF export

Alles zur Programmierung im LibreOffice.
Antworten
Hecky
Beiträge: 5
Registriert: So 8. Jan 2012, 14:38

Problem bei PDF export

Beitrag von Hecky » Do 14. Jun 2012, 11:20

Hallo Zusammen.

Ich habe folgendes Problem:

Aus unterschiedlichen Forenbeiträgen habe ich mir den Quellcode zum PDF - Export zusammengesucht.
Es funktioniort auch alles, bis auf ein mir unerklärliches Phänomen:

Code: Alles auswählen

function ConvertToPDF2 
   dim oDoc as object 
   cFile = "test.dbf"    
   oDoc = ThisComponent
   cURL = ConvertToURL(cFile) 
    
   ' Save the document using a filter. 

   pdfFilterData = Array( MakePropertyValue ("UseLosslessCompression",false),MakePropertyValue ("Quality",90),MakePropertyValue ("ReduceImageResolution",false),MakePropertyValue ("MaxImageResolution",150)) 
 
   oExport = Array( MakePropertyValue("Overwrite", True), MakePropertyValue("FilterName", "writer_pdf_Export"), MakePropertyValue("FilterData", pdfFilterData) ) 
    
   oDoc.storeToURL(cURL, oExport) 

End function


Wenn ich den Dateinamen des Dokuments ändere (über Speichern unter) erzeugt oDoc.storeToURL(cURL, oExport) einen IO Fehler.
Diese bleibt bestehen, bis das Dokument erneut gespeichert wird (ohne Namensänderung). Hat jemand eine Erklärung hierfür ???

Besten Dank

Hecky

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2538
Registriert: Fr 10. Dez 2010, 10:01

Re: Problem bei PDF export

Beitrag von karolus » Do 14. Jun 2012, 12:22

Hallo

Versuch mal oDoc.storeAsURL(cURL, oExport)

Karo
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Hecky
Beiträge: 5
Registriert: So 8. Jan 2012, 14:38

Re: Problem bei PDF export

Beitrag von Hecky » Do 14. Jun 2012, 14:43

Danke für die schnelle Anwort.

Der Fehler bleibt allerdings:
Fehlermeldung.JPG
Fehlermeldung.JPG (8.74 KiB) 5202 mal betrachtet
Das verrückte ist, dass nach erneutem Speichern der Datei auch der export wieder funktioniert !
Ich habe das Gefühl, dass nach einem 'save as' das Object ThisComponent nicht korrekt ist ?!

Hecky.

Jopradl
Beiträge: 4
Registriert: Mi 19. Sep 2012, 19:37

Problem bei PDF export

Beitrag von Jopradl » Fr 2. Nov 2012, 19:57

    Hallo habe das gleiche Problem
    • REM ***** BASIC *****

      Sub Main

      Dim FileNo As Integer
      Dim CurrentLine As String
      Dim File As String
      Dim Msg as String
      Dim DateiDa as String
      Dim i as double
      Dim aListe()
      Dim sUrl as String
      Dim myProps(0) as New com.sun.star.beans.PropertyValue

      myProps(0).Name = "FilterName"
      myProps(0).Value = "writer_pdf_Export"



      'Welche Files befinden sich im Laufwerk M:\
      oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")

      sURL = convertToURL("m:\")


      'Welche Dateien befinden sich im Ordner?
      if oSFA.isFolder(sUrl) then
      aListe = oSFA.getFolderContents(sUrl, False)
      end if

      'Alle .alp Dateien herausfiltern
      for a = 0 to uBound(aListe())

      'msgbox("Liste: " & a & " " & convertFromURL(aListe(a))
      Dim url as string
      url = convertFromURL(aListe(a))
      n=InStr(url, ".alp")
      'msgbox(n)

      'Wenn es sich um eine .alp Datei handelt -> PDF generieren
      if n > 0 then
      'msgbox(url)
      sPfad = convertToUrl(url)

      if oSFA.exists(sPfad) then
      oDatei = ""
      oInputStream = createUnoService("com.sun.star.io.TextInputStream")
      'msgbox(sPfad)
      oDatei = oSFA.OpenFileReadWrite(sPfad)
      oInputStream.SetInputStream(oDatei.getInputStream)

      '*************************************
      'Umlaute richtig darstellen!
      oInputStream.InputStream = oDatei
      oInputStream.Encoding = "ISO-8859-15"
      '*************************************

      sText = ""

      do while not oInputStream.isEOF
      sText = sText & oInputStream.ReadLine() & chr(10)
      loop

      oInputStream.closeInput()
      'msgbox(sText)

      '***********************************************************************************
      'Anfragenummer suchen
      Dim Anfrage as string
      Dim Firmennamen as string
      n=InStr(sText, "Anfrage")
      'msgbox(n)

      if n > 10 then
      Anfrage = mid(sText, n+14, 6)
      'msgbox(Anfrage)

      'Firmennamen bestimmen
      Firmennamen = mid(sText, 120, 25)
      FirmennameKurz = Trim(Firmennamen)
      'msgbox("FA " & FirmennameKurz & " E")

      '***********************************************************************************
      'neues Dokument erstellen
      Dim vDoc
      Dim Arg()

      Rem GFM Papier
      sUrl = converttourl("C:\Meine Files.ott")
      vDoc = StarDesktop.loadComponentFromURL(sUrl, "_blank", 0, Arg()

      Dim myDoc as Object
      myDoc = ThisComponent
      myViewCursor = MyDoc.getCurrentController.viewCursor
      myViewCursor.CharHeight = "10"
      myViewCursor.CharFontName = "Times New Roman"

      'Inhalt aus .alp Datei in Dokument einfügen
      Dim oDoc as Object
      oDoc = ThisComponent
      oDoc.text.setString(sText)
      oDoc.refresh()




      'PDF erzeugen
      Dim sUrlpdf as string
      Dim teilUrl as string

      teilUrl = Trim(Anfrage)
      'msgbox("A" & teilUrl)
      sUrlpdf = "file:///M:/" & "A" & teilUrl & "_" & FirmennameKurz & ".pdf"
      'msgbox(sUrlpdf)

      oDoc.storetoUrl(sUrlpdf,myProps())


      'Variablen auf 0 setzen
      sUrlpdf = ""
      teilUrl = ""
      Anfrage = ""
      s=""


      'Writer Dokument schließen
      ThisComponent.close(True)

      s=""
      end if
      end if
      end if

      next

      End Sub

      [quote][/quote]Kann jemand helfen?


    An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


    Bitte helfen Sie uns mit 7 Euro pro Monat.
    Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
    Unkompliziert per Kreditkarte oder PayPal.
    Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



    Antworten