Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/10796367999/Module+Diva+yMetaDataOpen+et+yFacturx) de cette page.

afficher les différences afficher l'historique de la page

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »

Deux modules Diva sont à utiliser pour lire ou écrire des informations Factur-X

yMetaDataOpen.dhop

Fonctions du module

function int MetaDataOpen

  • chargement de la dll "DhDivaltoRTFtoHTMLConnector.dll",

  • contient le code pour extraire le fichier xml factur-x d'un fichier pdf

  • renvoi 0 si ok , sinon renvoi la valeur 1 si le chargement n'a pas aboutit

function int MetaDataClose

  • ferme la dll "DhDivaltoRTFtoHTMLConnector.dll", elle renvoi toujours 0

function int MetaDataExtractFacturxToFile(fichier,fichierxml,&txterr,options)

1 fichier A ;fichier pdf a lire avec un chemin windows
1 fichierxml A ;fichier dans lequel la dll va écrire le fichier xmnp qui contient les metadatas au format xml du fichier pdf

1 txterr A ;texte d'erreur si la fonction renvoi <> 0
1 options A ;options pour le futur, pour l'instant mettre un chaine à espace

  • extraction du fichier xml facturx d'un fichier pdf

  • fichierxml : ! doit déjà exister, et à supprimer ensuite

Le fichierxml doit déjà exister. On peut le créer avec la séquence suivante

record * htdf tdfficeml
1 fichierxml 256 = " " 
Tmpfcreate (tdfficeml, 2, 0)
fclose(tdfficeml)
fichierxml = tdfficeml.Name

puis le supprimer

;et a la fin du traitement du fichier il faut le supprimer avec le code
windeletefile(left(fichierxml))

function int MetaDataExtractMetadataToFile(fichier,fichierxml,&txterr,options)

1 fichier A
1 fichierxml A
1 txterr A
1 options A

  • extraction du fichier metadata xmp (xmnp) d'un fichier pdf

  • fonctionne exactement comme MetaDataExtractFacturxToFile mais au lieu de renvoyer le fichier factur-x, elle renvoi le fichier metadata xmp (ou xmnp)

Fichier xmp ou xmnp

C'est un fichier xml qui decrit le type de fichier pdf , il contient le titre du fichier, la date de création et certaine informations comme le mode pdf a 3, la liste des mot clés, c'est dans ce fichier que divalto écrit les informations provenant de

err = MetaDataModele("BASIC") ;par défaut BASIC
err = MetaDataTitle("facture_Nebout_125e_du_12/08/2021") ;titre
err = MetaDataSubject("facture client Nebout de 125 euro pour livres du 12/08/2021") ;le sujet
err = MetaDataKeywords("facture Nebout livres") ;mot cles pour la recherche dans les metadatas

et les caractéristiques du fichier pdf

Vous pouvez trouver la définition d'un fichier "xmp metadata pdf" sur internet

Voici un exemple :

<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta x:xmptk="Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-20:48:00" xmlns:x="adobe:ns:meta/">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description xmlns:fx="urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#" rdf:about="">
      <fx:DocumentType>INVOICE</fx:DocumentType>
      <fx:DocumentFileName>factur-x.xml</fx:DocumentFileName>
      <fx:Version>1.0</fx:Version>
      <fx:ConformanceLevel>BASIC</fx:ConformanceLevel>
    </rdf:Description>
    <rdf:Description xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" rdf:about="">
      <pdfaid:part>3</pdfaid:part>
      <pdfaid:conformance>B</pdfaid:conformance>
    </rdf:Description>
    <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about="">
      <dc:title>
        <rdf:Alt>
          <rdf:li xml:lang="x-default">facture_Nebout_125e_du_12/08/2021</rdf:li>
        </rdf:Alt>
      </dc:title>
      <dc:creator>
        <rdf:Seq>
          <rdf:li>Divalto</rdf:li>
        </rdf:Seq>
      </dc:creator>
      <dc:description>
        <rdf:Alt>
          <rdf:li xml:lang="x-default">facture client Nebout de 125 euro pour livres du 12/08/2021</rdf:li>
        </rdf:Alt>
      </dc:description>
    </rdf:Description>
    <rdf:Description xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
      <pdf:Producer>Generateur PDF de DivaltoViewer v1.92</pdf:Producer>
      <pdf:Keywords>facture Nebout livres</pdf:Keywords>
    </rdf:Description>
    <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
      <xmp:MetadataDate>2022-11-26T12:44:17+01:00</xmp:MetadataDate>
      <xmp:CreatorTool>Divalto</xmp:CreatorTool>
      <xmp:CreateDate>2022-11-26T12:44:17+01:00</xmp:CreateDate>
      <xmp:ModifyDate>2022-11-26T12:44:17+01:00</xmp:ModifyDate>
    </rdf:Description>
    <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
	<xmpMM:InstanceID>uuid: 07e60b0c-2c11-31ab-07e6-0b0c2c1131ab</xmpMM:InstanceID>
	<xmpMM:DocumentID>uuid: 07e60b0c-2c11-31ab-07e6-0b0c2c1131ab</xmpMM:DocumentID>
    </rdf:Description>
    <rdf:Description xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
	xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" 
	xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#"
	xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#" 
	xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" rdf:about="">
      <pdfaExtension:schemas>
        <rdf:Bag>
          <rdf:li rdf:parseType="Resource">
            <pdfaSchema:schema>Factur-X PDFA Extension Schema</pdfaSchema:schema>
            <pdfaSchema:namespaceURI>urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#</pdfaSchema:namespaceURI>
            <pdfaSchema:prefix>fx</pdfaSchema:prefix>
            <pdfaSchema:property>
              <rdf:Seq>
                <rdf:li rdf:parseType="Resource">
                  <pdfaProperty:name>DocumentFileName</pdfaProperty:name>
                  <pdfaProperty:valueType>Text</pdfaProperty:valueType>
                  <pdfaProperty:category>external</pdfaProperty:category>
                  <pdfaProperty:description>name of the embedded XML invoice file</pdfaProperty:description>
                </rdf:li>
                <rdf:li rdf:parseType="Resource">
                  <pdfaProperty:name>DocumentType</pdfaProperty:name>
                  <pdfaProperty:valueType>Text</pdfaProperty:valueType>
                  <pdfaProperty:category>external</pdfaProperty:category>
                  <pdfaProperty:description>INVOICE</pdfaProperty:description>
                </rdf:li>
                <rdf:li rdf:parseType="Resource">
                  <pdfaProperty:name>Version</pdfaProperty:name>
                  <pdfaProperty:valueType>Text</pdfaProperty:valueType>
                  <pdfaProperty:category>external</pdfaProperty:category>
                  <pdfaProperty:description>The actual version of the Factur-X XML schema</pdfaProperty:description>
                </rdf:li>
                <rdf:li rdf:parseType="Resource">
                  <pdfaProperty:name>ConformanceLevel</pdfaProperty:name>
                  <pdfaProperty:valueType>Text</pdfaProperty:valueType>
                  <pdfaProperty:category>external</pdfaProperty:category>
                  <pdfaProperty:description>The conformance level of the embedded Factur-X data</pdfaProperty:description>
                </rdf:li>
              </rdf:Seq>
            </pdfaSchema:property>
          </rdf:li>
        </rdf:Bag>
      </pdfaExtension:schemas>
    </rdf:Description>
  </rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>

a

  • Aucune étiquette