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 »

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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Tom »

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: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Wolfgang Ciriack »

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 »

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: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PDF Datei erzeugen

Beitrag von AUGE_OHR »

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 »

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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Tom »

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 »

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 »

Hat denn keiner eine Idee?
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: PDF Datei erzeugen

Beitrag von Wolfgang Ciriack »

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
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: PDF Datei erzeugen

Beitrag von ramses »

@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
Valar Morghulis

Gruss Carlo
Antworten