Seite 2 von 4

Verfasst: 28.02.2009 17:52
von Kiffi
ts-soft hat geschrieben:Ich weiß nicht ob man nicht doch Foxit nutzen kann?
ProgramID ist: FOXITREADEROCX.FoxitReaderOCXCtrl.1
Cool! Danke für den Hinweis. :allright:

Diese OCX kommt anscheinend mit der neuen Version 3.0, die ich noch
nicht installiert hatte. Ich erstelle dann mal den COMate-Code...

Grüße ... Kiffi

// Edit: Hier isser

Code: Alles auswählen

IncludePath #PB_Compiler_Home + "\srod\comate" ; Pfad anpassen!
XIncludeFile "comate.pbi"

Define.COMateObject FoxitReaderControl

OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 600, "Foxit Reader - Demo", #PB_Window_SystemMenu | #PB_Window_Invisible)
  
FoxitReaderControl = COMate_CreateActiveXControl(0, 0, 800, 600, "FOXITREADEROCX.FoxitReaderOCXCtrl.1")

If FoxitReaderControl = 0
  
  MessageRequester("", COMate_GetLastErrorDescription())
  
  End
  
EndIf

FoxitReaderControl\Invoke("OpenFile('D:\downloads\09328122.pdf')") ; Pfad anpassen!

While WindowEvent() : Delay(1) : Wend

HideWindow(0, #False)

Repeat
  
  WWE = WaitWindowEvent()
  
Until WWE = #PB_Event_CloseWindow

FoxitReaderControl\Release()

Verfasst: 28.02.2009 18:15
von ts-soft
Hat der noch ein paar andere Properties? (keine Menüleiste usw.)

Verfasst: 28.02.2009 18:21
von Kiffi
ts-soft hat geschrieben:Hat der noch ein paar andere Properties? (keine Menüleiste usw.)
müsste ich mal schauen. Habe jetzt leider keine Zeit mehr, das
auszuprobieren. Melde mich heute Abend wieder...

Grüße ... Kiffi

// Edit: So wie es aussieht, ist OpenFile() die einzige Methode, die man
aufrufen kann. Keine sonstigen Einstellmöglichkeiten. Alles andere sind
Standardproperties.

Verfasst: 28.02.2009 22:33
von Morty
N'Abend.

Keine Lösung, sondern nur ein Erfahrungsbericht.
Foxit bietet eine DLL (SDK Package) zur einfachen Nutzung an. Damit kann man PDFs als Bilder rendern ... und all so Anzeigekram halt.
Da hab ich mich Ende letzten Jahres mit denen mal in Verbindung gesetzt, weil da kein Preis dran stand, und hab gefragt was die DLL den kosten solle.
Naja, nach vielen Fragen über Wie? Warum? In was für Software? Wie groß ist mein Unternehmen? Bla bla bla. Sagten sie mir, die DLL kostet 7600,- Euro. Dankend hab ich abgelehnt. :cry:

Gruß, Morty

Verfasst: 02.03.2009 11:20
von dysti
Hallo Kiffi,

wie ich heute morgen das Bord besuchte, staunte ich nicht schlecht.
Habe mich gleich daran gesetzt zu proggen.

Den untenstehenden Code habe ich verwendet und läuft auch durch.
Er zeigt aber nur ein leeres Fenster an.
Anscheinend genügt es nicht, nur die Komponente zu registrieren,
sondern der Foxitreader muß mit der Setup-Version richtig installiert werden.
Dann funktioniert das Programm einwandfrei, so wie ich es mir vorgestellt hatte.
Mit dem Installieren der Komponente könnte ich leben,
aber extra den Foxitreader installieren möchte ich nicht.

Hast du noch eine Idee, ohne den kompletten Foxitreader zu installieren?

Code: Alles auswählen

Define.COMateObject FoxitReaderControl

;FoxitReaderControl.COMateObject

OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 600, "Foxit Reader - Demo", #PB_Window_SystemMenu | #PB_Window_Invisible)
 
FoxitReaderControl = COMate_CreateActiveXControl(0, 0, 800, 600, "FOXITREADEROCX.FoxitReaderOCXCtrl.1")


MessageRequester("", Str(FoxitReaderControl ))


  If FoxitReaderControl = 0
    If COMate_RegisterCOMServer("FoxitReaderOCX.ocx") = #S_OK
      blnRegister = #True
      FoxitReaderControl = COMate_CreateActiveXControl(0, 0, 800, 600, "FOXITREADEROCX.FoxitReaderOCXCtrl.1")
    EndIf
  EndIf



If FoxitReaderControl = 0
 
  MessageRequester("", COMate_GetLastErrorDescription())
 
  End
 
EndIf

FoxitReaderControl\Invoke("OpenFile('C:\n.pdf')") ; Pfad anpassen!

Verfasst: 02.03.2009 11:58
von Kiffi
dysti hat geschrieben:Hast du noch eine Idee, ohne den kompletten Foxitreader zu installieren?
dazu müsste man erst einmal herausfinden, ob es überhaupt erlaubt ist, die
Komponente(n) einzeln weiterzugeben.

Kann sich da jemand schlau machen?

Grüße ... Kiffi

Verfasst: 02.03.2009 13:04
von bembulak
Kiffi hat geschrieben:Wenn Du (oder jemand anderer) eine kostenfreie Komponente findet, mit
der PDF angezeigt werden können, kann ich einen kleinen COMate-
Schnippsel dafür schreiben, damit man sie in PB verwenden kann.
http://de.wikipedia.org/wiki/Xpdf
http://www.foolabs.com/xpdf/

Könnte man nich versuchen, XPDF (Open Source) einzubinden?
Oder GhostScript/GhostView können das auch, soweit ich weiß.

http://de.wikipedia.org/wiki/Ghostview

Verfasst: 02.03.2009 13:32
von dysti
Hallo Kiffi und bembulak,

habt ihr aber schnell geantwortet.

@Kiffi schrieb:
dazu müsste man erst einmal herausfinden, ob es überhaupt erlaubt ist, die
Komponente(n) einzeln weiterzugeben.
Ich denke, erstmal probieren ob es überhaupt geht.
Wenn es gehen sollte, dann muß man sich schon überlegen, wie es weiter gehändelt werden sollte.

@bembulak, habe mir xpdf heruntergelanden. Der Viewer funzt nur unter Linux.
Leider habe ich hier mit Wind.....f zu tun, wie wir Linuxer sagen oder Dosbüchse. Diesen Ausdruck hörte ich unlängst unter den Macleuten.

Verfasst: 02.03.2009 13:43
von dysti
Hatte noch eine andere Lösung ausgedacht.
Da ich die Dateien im Original in Word erstellt habe, versuchte ich diese als RTF-Datei abzuspeichern.
Nun ist leider das Problem, das zwar die Texte und Bilder übernommen werden,
aber z.B. die Pfeile, die mit der Word-Zeichnen-Funktion erstellt wurden, sind verschwunden.
Deshalb kam ich auf das PDF-Format.

Vielleicht könnt ihr mich ja zurecht schubsen!!!!!!!

Verfasst: 02.03.2009 14:18
von Little John
bembulak hat geschrieben:Oder GhostScript/GhostView können das auch, soweit ich weiß.

http://de.wikipedia.org/wiki/Ghostview
Dann kann man doch ebensogut den Adobe Reader nehmen, oder nicht? ;-)

//edit:
dysti hat geschrieben:Nun ist leider das Problem, das zwar die Texte und Bilder übernommen werden,
aber z.B. die Pfeile, die mit der Word-Zeichnen-Funktion erstellt wurden, sind verschwunden.
Deshalb kam ich auf das PDF-Format.

Vielleicht könnt ihr mich ja zurecht schubsen!!!!!!!
Wenn es nur ums Anzeigen geht, ist natürlich im Prinzip eine Alternative, das Ganze als Graphik (z.B. PNG-Datei) zu speichern. Ich weiß aber nicht, ob das für Deine Zwecke in Frage kommt.

Gruß, Little John