Laden...

[gelöst] In eigenem Programm ein PDF auf einer bestimmten Seite anzeigen

Erstellt von S_teffi vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.299 Views
S
S_teffi Themenstarter:in
42 Beiträge seit 2010
vor 13 Jahren
[gelöst] In eigenem Programm ein PDF auf einer bestimmten Seite anzeigen

Hallo,

Ich stehe kurz vor der Verzweiflung...
Ich brauche die Funktionalität, in meinem Programm PDF's auf einer bestimmten Seite anzeigen zu können (mir wär's eigentlich auch schon egal, wenn dazu der Reader aufgehen würd, nur dem krieg ich irgendwie die Seitenzahl nicht übergeben 😦)

Zunächst habe ich die COM-Komponente vom AdobeReader verwendet... das hat auch soweit ganz gut funktioniert, allerdings nur an meinem Rechner. An den beiden anderen, an denen ich es probiert habe, waren leicht andere Unterversionen vom Adobe Reader (insgesamt Version 8) installiert, ich habe das Versagen also darauf zurückgeführt.

Deshalb fand ich, dass dieser Beitrag hier ziemlich gut klingt... es funktioniert aber wieder nur bei mir - da genauso wie die direkt verwendete COM-Komponente...

Auf einem der anderen Rechner wird der Adobe einfach überhaupt nicht geladen, die Stelle stürzt mehr oder weniger ab, es befindet sich dort in Zukunft das, was zuletzt dort war (schwer zu beschreiben)
Auf einem anderen bekomme ich die angehängte Fehlermeldung.

Hat irgendjemand eine Idee, was mein Problem ist?
Ich kompiliere schon als 32bit-Version... daran kann's also nimmer liegen...

Mit der COM-Komponente mussten die Adobe-dlls in meinem build-Ordner liegen, das müssen sie nun nicht mehr... also sucht er doch nach den installierten?

95 Beiträge seit 2006
vor 13 Jahren

Hallo S_teffi,

Ich brauche die Funktionalität, in meinem Programm PDF's auf einer bestimmten Seite anzeigen zu können (mir wär's eigentlich auch schon egal, wenn dazu der Reader aufgehen würd, nur dem krieg ich irgendwie die Seitenzahl nicht übergeben 😦)

So kannst du ein Dokument im Acrobat-Viewer an einer bestimmten Seite öffnen:

acrord32 /A "page=5" "C:\Probe.pdf"

Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)

S
S_teffi Themenstarter:in
42 Beiträge seit 2010
vor 13 Jahren

so weit war ich auch schon mal... Aber ich hab es nicht geschafft, einem Prozess die Seitenzahl zu übergeben...
Leider hab ich den Code wegen lang verworfen nicht mehr vorrätig...

edit:


System.Diagnostics.Process.Start(path, "/A \"page=" + seitenzahl + "\"");

http://www.ploetzeneder.eu/softwareentwicklung/cvbnet/63-sms-versand-mittels-handy-oder-huawei-modem-mit-c.html

So würde ich das mit diesem Link verstehen... Da krieg ich aber immer Seite 1 angezeigt. path und seitenzahl stimmen, da die Öffnung über Rainbirds Control richtig funktioniert (aber halt nur bei mir).

S
S_teffi Themenstarter:in
42 Beiträge seit 2010
vor 13 Jahren

Hm... immer wenn ich die PDF-Suche ausführe, sind hinter im bin-Ordner die Adobe-dlls wieder drin. Kann das von Bedeutung sein?

95 Beiträge seit 2006
vor 13 Jahren
  
System.Diagnostics.Process.Start(path, "/A \"page=" + seitenzahl + "\"");  
  

So würde ich das mit diesem Link verstehen...

Genau falsch:

System.Diagnostics.Process.Start("acrord32", "/A \"page=" + seitenzahl + "\" \"" + path + "\"");

Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)

S
S_teffi Themenstarter:in
42 Beiträge seit 2010
vor 13 Jahren

fein, das geht...

Wobei ich immer noch lieber eine Lösung hätte, mit der ich den Reader integrieren kann, weil ich die Seite zwischendurch wechseln möchte und auch nicht jedes Mal, wenn ein PDF geöffnet werden soll, einen neuen Reader möchte....

trotzdem danke ... bis zur echten Lösung funktioniert das erstmal.

M
334 Beiträge seit 2007
vor 13 Jahren

Vielleicht kann man das über einen Umweg mit dem WebBrowser-Control machen.

S
S_teffi Themenstarter:in
42 Beiträge seit 2010
vor 13 Jahren

hm... versteh ich das richtig, dass ich dann quasi "ein Internet Explorer Control" einfügen würde, und weil der ein Plugin für die Anzeige von PDFs hat, kann ich's dann auch darstellen?

Ich bin momentan unter Linux... aber ich werd's mir morgen mal anschaun...

S
S_teffi Themenstarter:in
42 Beiträge seit 2010
vor 13 Jahren

hm... Die Sache ist wohl gelöst, zumindest mit dem LateBoundAdobeReader von Rainbird geht es überall.. das Problem lag nicht am Adobe Reader sondern an den Dateien, die ich versucht habe, zu öffnen... da waren nämlich die Pfade anders (Datei lag aufm USB-Stick, der hat überall nen anderen Laufwerksbuchstaben, der Pfadname kam aber aus einer Datenbank und war überall gleich....)