Propriétés d'un document pdf et word

sb35 Messages postés 2 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 7 octobre 2004 - 8 déc. 2003 à 17:51
Delphi63 Messages postés 2 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 6 novembre 2008 - 6 nov. 2008 à 19:25
Je voudrais pouvoir récupérer les informations contenu sur l'onglet résumé dans les propriétés d'un document pdf, ou même un document Word: (Titre, auteur...).

2 réponses

Delphi63 Messages postés 2 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 6 novembre 2008
6 nov. 2008 à 18:42
La réponse est tardive, mais si cela peux dépanner

Utilisation de la biblioMicrosoft DsoFile.dll
Copier le fichier DsoFile.dll dans un repertoire
Pour incrire la dll au registre :
- dans la boite de dialogue "Démarrer > Executer"
- entrer : regsvr32 "c:\répertoire\dsofile.dll"

http://www.microsoft.com/technet/scriptcenter/resources/tales/sg0305.mspx

J'utilise cette .dll, et cela marche parfaitement (lecture et écriture)

A+++
0
Delphi63 Messages postés 2 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 6 novembre 2008
6 nov. 2008 à 19:25
Un petit complement peut-être
Après l'incription au registre
Sous Delphi 5 (de mémoire)
mneu "Composant > Importer un controle Axtive X"
bouton "Ajouter" et selectionner le fichier DsoFile.dll
Ajoute le composant "OleDocumentProperties" dans l'onglet "ActiveX"

Le mettre sur la Form
exemple :
var
  od :TOleDocumentProperties;
  sp: SummaryProperties;
  cp: CustomProperties;
  p : CustomProperty;
  t :dsoFilePropertyType;
  v :OleVariant;
  i  :integer;
  s  :string;
  sl :TStringList;
begin
  sl:=TStringList.Create;
  od:=OleDocumentProperties1;
  od.Open(fname,true,dsoOptionDefault);
  if od.IsOleFile
  then begin
    sp:=od.SummaryProperties;
    sl.Add('Title='+sp.Title);
    cp:=od.CustomProperties;
    for i:=0 to cp.Count-1 do begin
      p:=cp.Item[i];
      s:=p.Name;
      t:=p.Type_;
      v:=p.Get_Value;
      s:=s+'='+v;
      sl.Add(s);
    end;
    od.Close(False);
  end;
end;

En espérant être utile.
0
Rejoignez-nous