AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Acrobat activex 32bit / 64bit

Ein Thema von peberhardt · begonnen am 2. Mär 2017 · letzter Beitrag vom 3. Mär 2017
Antwort Antwort
peberhardt

Registriert seit: 14. Jun 2011
11 Beiträge
 
#1

Acrobat activex 32bit / 64bit

  Alt 2. Mär 2017, 18:57
Hallo,

ich hab ein kleines problem, hoffe ihr könnt mir helfen.
Ich belästige Google bereits seid über einer Woche, und bekomme keine Lösung.

ich habe unter Win7 32bit Delphi 2007 eine Anwendung erstellt.
diese beinhaltet die ActiveX Komponente AcroPDF1

ich möchte per code den zoom einstellen und in einer schleife nach rechts und nach unten scrollen.

dieser Befehl:
Code:
AcroPDF1.setZoomScroll(200, 100, 100);
zoomt auf 200% und verschiebt das PDF um 100 nach rechts und 100 nach unten.

wenn ich die Anwendung unter win7 32bit starte funktioniert das auch problemlos.

Aber: wenn ich das Programm unter Win7 oder Win10 64bit laufenlasse, geht der Zoom, das nach unten scrollen auch noch, aber NICHT das nach rechts scrollen.

Wahrscheinlich liegt das an der ActiveX die ja unter 32bit eingerichtet wurde.
die unterscheidet sich offensichtlich von der 64bit variante. ( die Acrobatreader versionen sind gleich )

Warum ich das mache: ich habe große PDF Dateien ( grösser A0 ) und die brauch ich als jpg.
Photoshop rendert da über 4 Std. bei 300 dpi ( die Auflösung brauch ich da da vieles sehr klein ist.
nun möchte ich mit meine Programm den zoom auf 200 stellen und das was im Form angezeigt wird per screenshot automatisch gespeichert
per code verschiebe ich das PDF dann um eine seitenbreite und das Programm macht erneut einen Screenshot.
am Schluss wird das mit der Komponente Imageen zusammengesetzt und ich kann über einen Imageen Layer Anmerkungen auf den Plan zeichnen


nun meine Fragen:

1. könnte das mal einer auf einen 64bit System programmieren und schauen ob das dann da geht?
2. vielleicht weiß einer ja wie man das Problem in den Griff bekommt.

besten Dank für euere Mühe

peter
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#2

AW: Acrobat activex 32bit / 64bit

  Alt 2. Mär 2017, 19:08
hast du schon mal versucht, das PDF mit Ghostscript (gswin32.exe) in ein jpg umzuwandeln? Vielleiht geht das um einiges schneller?

mit
Code:
gswin32c.exe -sDEVICE=jpeg -dNOPAUSE -sPAPERSIZE=a4 -dLastPage=99 -r300 -g1738x2458 -dPDFFitPage -dBATCH -sOutputFile=%outfile% %infile%
funktioniert das bei A4-Seiten sehr gut und schnell. Mit dem Parameter -g kannst du die Größe des JPG's festlegen und mit -r die DPI.

Danach kannst du das JPG bequem mit Imageen laden.

Das ist zwar nicht die Antwort auf deine Frage, aber vlt. ein guter Workarount, denn das mit dem Acrobat ist ja auch etwas subobtimal.

Gruß Hobbycoder
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#3

AW: Acrobat activex 32bit / 64bit

  Alt 2. Mär 2017, 19:23
Auch wenn das keine Lösung des eigentlichen Problems ist, hilft es dir möglicherweise; man muss ja nicht immer das Rad neu erfinden (manchmal aber schon). PDF-XChange Viewer kann die Seiten von PDFs in beliebige Bildformate umwandeln/speichern: Datei > Export > Als Bild.

Übrigens sind bestimmte Bildformate für bestimmte Bildinhalte mehr oder weniger gut geeignet. Schwarz-Weiß-Zeichnungen würde ich niemals in JPG umwandeln (Artefakte!) sondern immer TIF, PNG oder GIF nutzen. Für viele Farben ist PNG hingegen ungeeignet (wird verdammt groß), JPG ist da deutlich besser. Will sagen: Schau dir deine Bildinhalte genau an und wähle das Bildformat danach aus.

Grüße
Dalai

Geändert von Dalai ( 2. Mär 2017 um 19:27 Uhr)
  Mit Zitat antworten Zitat
peberhardt

Registriert seit: 14. Jun 2011
11 Beiträge
 
#4

AW: Acrobat activex 32bit / 64bit

  Alt 2. Mär 2017, 19:46
Besten Dank für die Infos,

den PDF-XChange Viewer hab ich grade getestet, rendert schnell, aber selbst bei 300dpi ist das Ergebniss extrem schlecht

GostScript hab ich grad installiert, aber hab noch nicht rausgefunden wie man das Input File übergibt.

wird aber wahrscheinlich lange brauchen wenn es hochauflösend rendert.


meine Idee mit den screenshots ist vielleicht wie von hinten durch den ..... aber wirklich schnell.

>> hoffe es kann jemand für mich das mal mit einen Delphi auf einen Win 64bit kompilieren und testen


mfg
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#5

AW: Acrobat activex 32bit / 64bit

  Alt 2. Mär 2017, 20:01
den PDF-XChange Viewer hab ich grade getestet, rendert schnell, aber selbst bei 300dpi ist das Ergebniss extrem schlecht
Dann solltest du mit den Optionen im Exportdialog rumprobieren, allen voran mit der JPEG-Qualitätsstufe.

Grüße
Dalai
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#6

AW: Acrobat activex 32bit / 64bit

  Alt 3. Mär 2017, 08:25
Besten Dank für die Infos,

den PDF-XChange Viewer hab ich grade getestet, rendert schnell, aber selbst bei 300dpi ist das Ergebniss extrem schlecht

GostScript hab ich grad installiert, aber hab noch nicht rausgefunden wie man das Input File übergibt.

wird aber wahrscheinlich lange brauchen wenn es hochauflösend rendert.


meine Idee mit den screenshots ist vielleicht wie von hinten durch den ..... aber wirklich schnell.

>> hoffe es kann jemand für mich das mal mit einen Delphi auf einen Win 64bit kompilieren und testen


mfg
Peter
Hatte ich dir doch schon geschrieben.
Code:
gswin32c.exe -sDEVICE=jpeg -dNOPAUSE -sPAPERSIZE=a4 -dLastPage=99 -r300 -g1738x2458 -dPDFFitPage -dBATCH -sOutputFile=%outfile% %infile%
Du brauchst doch nur noch die Platzhalter %outfile% und %infile% gegen deine passenden Files auszutauschen und Papersize bzw. Auflösung anzupassen.
Leider habe ich keine so großen Dateien, sonst würde ich das glatt mal ausprobieren. Aber Ghostscript ist nicht wirklich langsam.
Könntest du eine diese Dateien zur Verfügung stellen? Ist ja egal was drauf ist, uns wenn's nur Mickeymäuse sind.

Gruß Hobbycoder
  Mit Zitat antworten Zitat
peberhardt

Registriert seit: 14. Jun 2011
11 Beiträge
 
#7

AW: Acrobat activex 32bit / 64bit

  Alt 3. Mär 2017, 12:40
Hallo,

Gostscript geht erstmal, kann ich aus meinen Programm raus mit den Parametern aufrufen,
da kommt zwar das command Fenster hoch ( vielleicht weiß einer wie man das unterdrücken kann ) aber es funktioniert
sogar sehr schnell.

4-5 Min.

Besten Dank erstmal.

Dennoch: wenn einer die 32bit / 64bit Problematik lösen kann, ich kanns immer noch gebrauchen.

PS. hab den letzten Parameter zu schnell überlesen inifile stat In File.....

mfg
Peter
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#8

AW: Acrobat activex 32bit / 64bit

  Alt 3. Mär 2017, 14:32
Also ich rufe das mit ShellExecute auf, und da gibt's den Parameter SW_HIDE.
Da kommt kein command fenster.

ShellExecute(self.Handle, 'open', PChar(Settings.gs), PChar(param), nil, SW_HIDE); In Settings.gs befindet sich nur die gswin32.exe (incl. Pfad)
und in param alle zu übergebenden Parameter.

Komplett schaut's dann so aus:
Delphi-Quellcode:
procedure Tfrm_main.ConvertPDF2JPG(iFile, oFile, oSTDOUT: string);
var
  param: string;
begin
  param:=Settings.gsParamsJPG;
  param:=StringReplace(param, '%infile%', iFile, [rfIgnoreCase]);
  param:=StringReplace(param, '%outfile%', oFile, [rfIgnoreCase]);
  param:=StringReplace(param, '%sstdout%', oSTDOUT, [rfIgnoreCase]);
  ShellExecute(self.Handle, 'open', PChar(Settings.gs), PChar(param), nil, SW_HIDE);
  // ShellExecute_AndWait(Settings.gs, param, '', SW_HIDE);
end;
Ich nutze nur ShellExecute_AndWait, weil es mit A4-Seiten sehr schnell geht und ich direkt mit dem Ergebnis weiterarbeiten will.

Geändert von Hobbycoder ( 3. Mär 2017 um 14:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz