Entwickler-Ecke
Dateizugriff - Pdf-Datei öffnen
diego - Do 25.09.03 09:19
Titel: Pdf-Datei öffnen
hi,
gibts ne möglichkeit eine pdf datei mit delphi zu öffnen ohne das der acrobat reader installiert sein muss???
mfg diego
Licki - Do 25.09.03 09:26
Von Karlsruher zu Karlsruher, dürfte gehen, jau. ;)
Anstelle von TOleContainer (wie das normal so üblich ist, sie Microsoft Word. :D)wird das OCX-Control vom Acrobat Reader eingesetzt. Damit wird der Inhalt der ausgewählten PDF-Datei im eigenen Formular angezeigt. Das Symbol des Acrobat Readers ist während der Programmlaufzeit in der Taskbar sichtbar - das OCX-Control hat keine Active-Eigenschaft, um dieses Verhalten zu ändern. Du musst also das OCX- Control in Delphi importieren. Die OCX heißt pdf41.ocx.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| Unit AcrobatContainerFrm;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtnrs, ComCtrls, OleCtrls, PdfLib_TLB, ExtCtrls;
type TForm1 = class(TForm) StatusBar1: TStatusBar; Panel1: TPanel; OpenDialog1: TOpenDialog; Panel2: TPanel; Pdf1: TPdf; BtnOpenOCX: TButton; BtnCloseOCX: TButton; procedure BtnOpenOCXClick(Sender: TObject); procedure BtnCloseOCXClick(Sender: TObject); private public end; var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.BtnOpenOCXClick(Sender: TObject); begin with OpenDialog1 do if Execute then Pdf1.src := Filename; end;
procedure TForm1.BtnCloseOCXClick(Sender: TObject); begin Pdf1.src := ''; end;
end. |
diego - Do 25.09.03 09:42
Titel: Re: Pdf-Datei öffnen
danke mal, und wie kann als alternative die datei noch durch den acrobat reader öffne lassen???
karlsruhe rockt!
mimi - Do 25.09.03 09:45
oder du schreibst eine einge funktion um PDF dateien zu öffnen. Mit TFileStream ist das einfach *G*
Delete - Do 25.09.03 10:05
Ja mimi. Mittlerweil dürfte das halbe Forum mitbekommen haben, dass du alles per FileStream löst. :roll:
mimi - Do 25.09.03 11:27
und was ist daran schlimm ?
TFileStream ist doch ein moderner zugrieft auf dateien oder etwa nicht ?
Delete - Do 25.09.03 11:40
Und was will ich mit der PDF Datei in dem Filestream? Selber parsen oder was?
mimi - Do 25.09.03 12:31
genau. Warum nicht ?
patrick - Mi 01.10.03 12:24
also mimi ich weiß nicht wie es dir geht aber:
ich hab besseres zu tun als die gesamte pdf referenz zu zerlegen und anschließen das ganze auch noch programtechnisch umzusetzten (abgesehen davon das das schon mehr als kompliziert ist, es handelt sich dabei ja nicht grad um ne HTML-Datei).
und sobald adobe ne neue funktion integriert siehst du wieder alt aus.
da ist mehr als umständlich!
barfuesser - Mi 01.10.03 16:00
Aber das war doch Dein Wunsch! Du wolltest eine pdf-Datei verarbeiten ohne einen Reader zu benutzen. Für alle Vorschläge - mit Ausnahme der Vorschläge von mimi - benötigst Du aber einen externen Reader.
barfuesser
Delete - Mi 01.10.03 16:24
barfuesser hat folgendes geschrieben: |
Aber das war doch Dein Wunsch!barfuesser |
diego <>
patrick. Oder ist das sein Zweitname?
barfuesser - Mi 01.10.03 16:38
patrick hat folgendes geschrieben: |
ich hab besseres zu tun als die gesamte pdf referenz zu zerlegen ... |
Ich habe nicht so auf die Namen geachtet und aus dem angegebenen Text geschlossen, daß er der Poster wäre. :oops: Sorry für die Verwechslung!
barfuesser
patrick - Do 02.10.03 09:21
MathiasSimmack hat folgendes geschrieben: |
barfuesser hat folgendes geschrieben: | Aber das war doch Dein Wunsch!barfuesser |
diego <> patrick. Oder ist das sein Zweitname? |
ich hab eine gespaltene persönlichkeit :shock:
@thekenhänder ähh barfuesser :tongue:
alles vergessen und verziehen
traudl - Di 12.10.04 14:12
Hallo,
habe das Beispiel von Licki probiert habe aber das Problem, daß es nur mit installiertem Reader läuft. Ich weis nicht wie ich das Modul mit eincompilieren kann.
Kann mir jemand helfen ?? :?:
Delete - Di 12.10.04 14:37
Das Modul wird so oder so den installieren Adobe Acrobate Reader benötigen.
traudl - Di 12.10.04 15:58
Also ohne den Reader geht es nicht. Hab ich wohl missverstanden. Aber bin ich auf diese Art " Versionsfrei? ". Würde mir sehr viel Mühe sparen
Gruß Udo
:roll:
jasocul - Di 12.10.04 16:04
Ich benutze das OCX auch. Und hier im Haus ist es offensichtlich egal, welche Version vom Reader am Arbeitsplatz installiert ist. Getestet von Version 5.0 bis 6.0.
SchelmVomElm - Di 12.10.04 16:06
Wo ist denn die Datei PdfLib_TLB her??
jaenicke - Di 12.10.04 16:07
PdfLib.dll oder PdfLib.ocx (weiß ich grad nicht...) importiert. Die _TLB Datei wird automatisch erstellt.
jasocul - Di 12.10.04 16:08
Wird meines Wissens beim Einbinden des OCX in Delphi automatisch erzeugt. Bitte korrigiert mich, wenn das falsch ist.
traudl - Mo 18.10.04 20:43
Hallo Leute,
das OCX geht auch mit Reader V4, habs getestet. Nun habe ich aber das Problem, daß ich zwar die Form schliesen kann, aber wenn ich eine andere Datei öffne, zeigt er mir nix an und wenn ich das gleiche Dokument öffne nach dem dritten mal auch nicht mehr. Und wenn ich das Prog beende, bringt er mir "Exception EAccessViolation in Modul pdf.ocx ...
:roll:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!