Domanda

Ho importato Acrobat Reader utilizzando componenti | Componenti di importazione. L'unità AcroPdf_TLB viene creata nella directory Imports.

Quando si tenta di utilizzare il componente Acrobat Reader, come segue ...

AcroDoc := TAcroPDF.Create(nil);

... ottengo un'eccezione 'errore non specificato' (EOleSysError). Tutte le idee?

Grazie, Pieter.

È stato utile?

Soluzione

Usiamo il plug-in Adobe Reader e affrontare questo problema spesso. Affiora in particolare dopo un utente esegue una web-aggiornamento sulla Adobe Reader.

Prova un-installazione (tramite il pannello di controllo), quindi su reinstallare l'ultima versione di Adobe Reader.

che cancella sempre il problema per i nostri utenti.

Altri suggerimenti

Se non si è soddisfatti con i risultati che si stanno ottenendo lì (ero), si potrebbe prendere in considerazione dando QuickPDF una prova. Il prezzo non è irragionevole, hanno un sacco di buone funzioni PDF incluso ed è possibile visualizzare un PDF con precisione in un controllo TImage con una chiamata a RenderPageToStream. Una cosa che ho scoperto a lavorare con i campi del modulo è che ho dovuto usare il loro FlattenFormField prima del rendering per ottenere il contenuto del campo modulo da inserire nell'immagine di rendering.

Follow-up:

non ho menzionato in origine che QuickPDF funziona anche per la stampa. Per i campi del modulo, quello che dovete fare la stessa routine FlattenFormField, ma i risultati guardare bene con molto meno spese generali che fare affidamento su Acrobat Reader.

Mettere il componente su un TForm, allora probabilmente funziona.

L'oggetto / COM Acrobat ActiveX è noto per non sostenere le interfacce di vecchie versioni correttamente. Si ottiene EOleSysError s in tutto il luogo.

Quello che ho personalmente fatto per un paio di clienti, è caricare i documenti PDF in un TWebBrowser .

TWebBrowser è un wrapper per il componente ActiveX / COM che utilizza Internet Explorer per visualizzare tutto.

Adobe è piuttosto buona nel fare quel lavoro con ogni aggiornamento di Acrobat, in modo che il TWebBrowser quindi funziona anche.

Si noti che questo ha senso solo per la visualizzazione del documento PDF.

- Jeroen

Abbiamo usato con successo la componente acrobat reader v6 nel nostro Delphi 7 app, ma che non richiede davvero acrobata v6. Gli utenti che oggi installare solo Acrobat v9 un errore quando usano la nostra applicazione per visualizzare un file PDF perché il componente di Acrobat non è compatibile in questo modo.

Quindi sì, si può fare, ma ci sono problemi probabili andando avanti.

Un tool di terze parti è prob migliore ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top