Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

PDF Datei erzeugen

Moderator: Moderatoren

Antworten
BerndR
Rookie
Rookie
Beiträge: 17
Registriert: Do, 04. Dez 2014 11:53

PDF Datei erzeugen

Beitrag von BerndR » Mo, 02. Feb 2015 11:47

Hier gleich noch ein Problem...

Ich möchte eine PDF Datei mit List & Label erstellen OHNE das ein Ausdruck am Drucker erfolgt...

In der Doku steht vieles was aber nicht funktioniert!?

Wann und wie wird eine PDF Datei erzeugt und mit welchem Code an welcher Stelle im Ablauf?

Die Hilfe von Combit ist da eher suboptimal... :banghead:

Viele Grüße
Bernd

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 6802
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Tom » Mo, 02. Feb 2015 16:10

Hallo, Bernd.

Die Exportroutine sieht der Druckroutine sehr ähnlich, es müssen nur einige Parameter (anders) und Optionen gesetzt werden. Leider bin ich ein wenig erkrankt und fern vom Entwicklungsrechner, so dass ich Dir erst morgen oder übermorgen ein Beispiel geben könnte. Falls es keines hier im Forum gibt, wovon ich eigentlich ausgehen würde.
Herzlich,
Tom

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2288
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Wolfgang Ciriack » Mo, 02. Feb 2015 16:40

Dazu kannst du auch meine Routine benutzen (siehe deine Druckerausgabefrage)
Viele Grüße
Wolfgang

BerndR
Rookie
Rookie
Beiträge: 17
Registriert: Do, 04. Dez 2014 11:53

Re: PDF Datei erzeugen

Beitrag von BerndR » Mo, 02. Feb 2015 20:38

PDF / RTF / HTML / XML funktionieren jetzt... :D
Aber die Bilder wie BMP/JPG/TIFF funktionieren alle nicht!? :?:
Hat jemand eine Idee?
Viele Grüße
Bernd

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10579
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PDF Datei erzeugen

Beitrag von AUGE_OHR » Mo, 02. Feb 2015 23:07

BerndR hat geschrieben:Aber die Bilder wie BMP/JPG/TIFF funktionieren alle nicht!? :?:
Hat jemand eine Idee?
wie bindest du den die Bilder ein ?

Ich bin mir nicht sicher ob "meine" Methode die richtige ist aber bei der gab es das Problem das ein XbpBitmap() Object
14 Bytes in Header fehlen und es deshalb von externen Programmen nicht anerkannt wird.

Code: Alles auswählen

PROCEDURE LlPublishData( lAsFields, hJob, aField, aType, aLen, aDec, aDataSource, nDataPtr )
...
   FOR i := 1 TO LEN( aField )
      * load field or array element to MyContens
      MyContens := IF( PCOUNT() = 6, FIELDGET( i ), aDataSource[ nDataPtr, i ] )

      * publish typed fields to L&L
      DO CASE

         CASE aType[ i ] $ "V"                                   // BLOB
            IF lAsFields
               LlDefineFieldExtHandle( hJob, ;
                                       aField[ i ], ;
                                       TillBMP( MyContens ), ;   // s.h. PDR 6009
                                       LL_DRAWING_HBITMAP, 0 )

            ELSE
               LlDefineVariableExt( hJob, ;
                                    aField[ i ], ;
                                    MyContens, ;
                                    LL_DRAWING, 0 )
            ENDIF
siehe dir mal PDR 6009 an http://www.alaska-software.com/scripts/ ... PDRID=6009
gruss by OHR
Jimmy

BerndR
Rookie
Rookie
Beiträge: 17
Registriert: Do, 04. Dez 2014 11:53

Re: PDF Datei erzeugen

Beitrag von BerndR » Di, 03. Feb 2015 10:41

Ich möchte die Dokumente als JPF/TIFF etc. ausgeben nichts einbinden oder ähnliches..
Als Ergebnis soll dann so ähnlich wie bei einem PDF nur JPG´s oder TIFF´s ... herauskommen...
Bei PDF funktioniert es jetzt, da kann ich dem L&L mitgeben das es diese zur Laufzeit erzeugen soll.
So wie es aussieht funktioniert es bei Bildern irgendwie anders!?
Ich vermute mal das diese am Ende erzeugt werden müssen!?

Viele Grüße
Bernd

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 6802
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Tom » Di, 03. Feb 2015 14:45

Hallo, Bernd.

Das Exportmodul unterstützt m.E. keine Bildformate, da das ja auch vergleichsweise sinnlos wäre, weil Bilder nicht mehrseitig sein können, Reports allerdings durchaus. Ausnahmen sind TIFFs. Alles andere (JPG/PNG) bietet L&L aus der Vorschau heraus auch nur als Einzelseitenspeicherung an.

Das ist allerdings daherbehauptet; ich bin zu Hause und nicht an meinem Entwicklungsarbeitsplatz, weshalb mir die Programmiererreferenz von L&L nicht zur Verfügung steht. Dir jedoch wahrscheinlich schon - wirf doch einfach mal einen Blick hinein! (Abschnitt "Die Export-Module")
Herzlich,
Tom

BerndR
Rookie
Rookie
Beiträge: 17
Registriert: Do, 04. Dez 2014 11:53

Re: PDF Datei erzeugen

Beitrag von BerndR » Di, 03. Feb 2015 15:37

Und genau da wird auf PICTURE_TIFF / ...PNG / ... hingewiesen...

BerndR
Rookie
Rookie
Beiträge: 17
Registriert: Do, 04. Dez 2014 11:53

Re: PDF Datei erzeugen

Beitrag von BerndR » Sa, 14. Feb 2015 18:03

Hat denn keiner eine Idee?

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2288
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Wolfgang Ciriack » Sa, 14. Feb 2015 20:05

Setze doch einfach mal ein LLSetDebug() vor deinen Ausgabecode, starte den debwin3 Debugger und schaue, ob da Fehler angezeigt werden, wenn du als Ausgabe ein Bildformat wählst. Ist denn die cmLL20ex.llx im Pfad vorhanden ?
Viele Grüße
Wolfgang

ramses
1000 working lines a day
1000 working lines a day
Beiträge: 698
Registriert: Mi, 28. Jul 2010 17:16

Re: PDF Datei erzeugen

Beitrag von ramses » Mo, 16. Feb 2015 14:18

@BerndR

Eine Ausgabe als BMP JPEG usw. ist Problemlos möglich. Pro Seite wird jeweils 1 Datei erzeugt.

als Einleitung musst du mindestens folgende Befehle absetzten (für BMP)

Code: Alles auswählen

  LlPrintStart(hJob, lProject, sName, LL_PRINT_EXPORT , 0 ) 
  LLPrintSetOptionString( hJob, LL_PRNOPTSTR_EXPORT, "PICTURE_BMP" )   



Ich verwende zum Start einer Ausgabe in jpg Dateien folgende Funktion:

Code: Alles auswählen

** hJob       Geöffneter JobHandle 
** lProject   Projecttyp  z.B. LL_PROJECT_LIST
** sName      Projectfile z.B. Liste.lst
** cOutFile   Zielfile inkl. LW+Pfad   -> i:\Dok_Jpg\Liste.jpg

static function LLSetJPGOut( hJob, lProject, sName, cOutFile )
local ret_val := .f.

       cOutFile := alltrim(cOutFile)

       do while .t.
            if empty( cOutFile )
                msgbox("Ausgabe als JPG nicht m”glich, kein Filename angegeben.")
                exit
            endif
            if ! "." $ cOutFile
                cOutFile += ".jpg"
            endif
            if !right(lower( cOutFile ), 3 ) == "jpg" .and. substr(cOutFile, len(cOutFile)-3,1) == "."
                cOutFile := left(cOutFile, len(cOutFile)-3) + "jpg"
            endif
            if !right(lower( cOutFile ), 4 ) == ".jpg"
                msgbox("Ausgabe als JPG nicht m”glich, Filename Ext. '.jpg' nicht angegeben.")
                exit
            endif

            cOutFile := stuff(cOutFile, len(cOutFile)-3,0, "_Seite_%d" )  // Platzhalter für Seitennummerierung

            if  LLErrorMessage(  LlPrintStart(hJob, lProject, sName, LL_PRINT_EXPORT , 0 ) )
                exit
            endif
            if  LLErrorMessage(  LLPrintSetOptionString( hJob, LL_PRNOPTSTR_EXPORT, "PICTURE_JPEG" )   )
                exit
            endif
            if  LLErrorMessage(  LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PICTURE_JPEG", "Resolution", "300" ) )
                exit
            endif
            if  LLErrorMessage(  LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PICTURE_JPEG", "Picture.JPEGQuality", "80" ))
                exit
            endif
            if  LLErrorMessage(  LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PICTURE_JPEG", "Export.Path",  left( cOutFile, rat("\", cOutFile) ) ) )
                exit
            endif
            if  LLErrorMessage(  LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PICTURE_JPEG", "Export.File", right( cOutFile, len(cOutFile) - rat("\",cOutFile)) ) )
                exit
            endif
            if  LLErrorMessage(  LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PICTURE_JPEG", "Export.Quiet", "1") )
                exit
            endif
            ret_val := .t.
            exit
       enddo

return(ret_val)





Cu Carlo

Antworten