Question : Méta-données de pdf de Vbscript pour SharePoint 2010

Bonjour, le

Does n'importe qui savent s'appliquer des méta-données à un dossier et puis soumettre tout le dossier au centre record de SharePoint 2010's avec VBScript ?  Pas avec ASP.NET mais Cscript.

Many Thanks
class= de

Réponse : Méta-données de pdf de Vbscript pour SharePoint 2010

dans le passé j'ai employé http://www.verypdf.com/pdfinfoeditor/index.html

mais cher maintenant

code ci-dessous de http://oreilly.com/pub/h/2407 (mais moi n'ont pas examiné)

1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 :
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 :
162 :
163 :
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 :
172 :
173 :
174 :
175 :
176 :
177 :
178 :
179 :
180 :
181 :
182 :
183 :
184 :
185 :
186 :
187 :
188 :
189 :
190 :
191 :
192 :
193 :
194 :
195 :
196 :
197 :
198 :
199 :
200 :
201 :
202 :
203 :
204 :
205 :
206 :
207 :
208 :
209 :
210 :
211 :
212 :
213 :
214 :
215 :
216 :
217 :
218 :
219 :
220 :
221 :
222 :
223 :
224 :
225 :
226 :
227 :
228 :
229 :
230 :
231 :
232 :
233 :
234 :
235 :
236 :
237 :
238 :
239 :
240 :
241 :
242 :
243 :
244 :
245 :
246 :
247 :
248 :
249 :
250 :
251 :
252 :
253 :
254 :
255 :
256 :
257 :
258 :
259 :
260 :
261 :
262 :
263 :
264 :
265 :
266 :
267 :
268 :
269 :
270 :
271 :
272 :
273 :
274 :
275 :
276 :
277 :
278 :
279 :
280 :
281 :
282 :
283 :
284 :
285 :
286 :
287 :
288 :
289 :
290 :
291 :
292 :
293 :
294 :
295 :
296 :
297 :
298 :
299 :
300 :
301 :
302 :
303 :
304 :
305 :
306 :
'==========================================================================
'Nom :          Rédacteur de méta-données de pdf
'Version :       1.1
'Last modified : 2005-05-31
'URL de programme :   http://www.arilabs.com/software/pdfmeta/pdfmeta.vbs
'Nom de fichier :      pdfmeta.vbs
'Auteur :        Brian haut  
'Copyright :     Analytical Resources, Inc. (2005)
'Permis :       Version 2 de GNU GPL (ou plus grand).  Voir la section de PERMIS ci-dessous.
'Description :   Elle te permet d'éditer le titre, l'auteur, le sujet, et les mots-clés.
'                C'est un embout avant facile à utiliser, mais limité au pdftk.
'Exige :      pdftk-1.12, appui de langue de VBScript (centre serveur de manuscrit de Windows)
'==========================================================================

'============
'Instructions
'============

'(1) exige de ce manuscrit (pdfmeta.vbs) d'être dans la même chemise que pdftk.exe.
'La manière la plus facile d'installer le pdftk est d'installer le « constructeur de PDFTK » (libre).
'http://users.on.net/~johnson/pdftkb/pdftkb_setup.exe
Le 'constructeur de PDFTK est un embout avant de GUI pour le pdftk et a beaucoup de dispositifs utiles.

'    --Ou-- vous pouvez défaire la fermeture éclair de pdftk.exe à partir du dossier de fermeture éclair trouvé ici :
'    http://www.accesspdf.com/pdftk/  (le lien de téléchargement de clic et obtiennent la fermeture éclair.)
'    (Endroit pdftk.exe dans une chemise convenablement appelée et localisée.)

'    Voir également : http://hacks.oreilly.com/pub/h/2422

'(2) endroit ce manuscrit (pdfmeta.vbs) dans la chemise d'installation pour 
'paquet de pdftk.  Faire pour raccourcir à pdfmeta.vbs et à endroit sur le votre 
'ordinateur de bureau, si vous aimez.

'(3) UTILISATION : Traîner juste le dossier de pdf de source sur ce manuscrit de VBS (ou a 
'raccourcir à lui).  Suivre les messages de sollicitation.  La chemise provisoire s'ouvrira 
'et le nouveau pdf sera à l'intérieur.  Déplacer le nouveau pdf à sa destination.

'====================================================================
'PERMIS : GNU GPL v2 ou plus grand :  http://www.gnu.org/licenses/gpl.txt
'====================================================================

'Ce programme est logiciel gratuit ; vous pouvez le redistribuer et/ou le modifier
'il en vertu du permis de grand public de GNU comme édité près
'Free Software Foundation ; ou version 2 du permis, ou
'(à votre option) toute version postérieure.
'
'Ce programme est distribué dans l'espoir que ce sera utile,
'mais SANS TOUTE GARANTIE ; sans même garantie implicite de
'VALEUR MARCHANDE ou FORME PHYSIQUE POUR UN BUT PARTICULIER.  Voir
'Permis de grand public de GNU pour plus de détails.

Option explicite

'Déclarer les variables
Obscurcir sInfile, sFileName, sTempFile, sCurrentDir, sCurrentDrive, sScriptName
Obscurcir le sComSpec, sMeta, sTempPath, sCmd, sPdftk, sAppTitle, sTKCmd, args

'Configurer le titre d'application et le nom de fichier de la commande de PDFTK
sAppTitle = « rédacteur v1.1 de méta-données de pdf »
sTKCmd = « pdftk.exe »

'Pour employer différents champs de méta-données, changer cette définition de rangée
Obscurcir les aFields (3.1)
aFields (0.0) = « titre »
aFields (1.0) = « sujet »
aFields (2.0) = « auteur »
aFields (3.0) = « mots-clés »

'Placer le drapeau pour le « dictionnaire non trouvé »
Obscurcir le noDict
noDict = faux 

'Définir les constantes
Const créent = rectifient, DontCreate = faux
Const HideWindow = 0, ShowWindow = 1
Const ForReading = 1, ForWriting = 2, ForAppending = 3

'Routine principale
GetArguments ()
OpenPDFFile ()
GetCurrentDirectory ()
TryToAccessPDFTK ()
GetTempFolder ()
DeleteMetaFile ()
CreateDumpDataCmd ()
WriteMetaData ()
DisplayMetaData ()
PromptForMetaData ()
WriteNewMetaData ()
WriteMetaDataIntoNewPDF ()

'Sous-routines
GetArguments secondaire privé
   Faible sErr, numérique, oShell 
   'Obtenir les arguments et le contrôle de manuscrit pour au moins un (le nom de fichier)
   Placer l'oShell = le WScript.CreateObject (« WScript.Shell »)
   Placer les args = le WScript.Arguments
   sScriptName = WScript.ScriptFullName
   
   numérique = args. Compte
   
   sErr = « utilisation : [cscript | wscript] pdfmeta.vbs  » et vbCRLF et _
      « (Juste traîner un dossier de pdf sur ce manuscrit et suivre les messages de sollicitation.) »
   
   Si = 0 numérique puis
      sErr de WScript.Echo
      WScript.Quit 1
   Finir si
   S'InStr (UCase (args. Article (0)), « .PDF ») = 0 puis
      sErr de WScript.Echo
      WScript.Quit 1
   Finir si
Finir le sous-marin

OpenPDFFile secondaire privé
   Faible sErr, sFile, oFile, FSO
   'Essai pour ouvrir le dossier d'entrée
   Placer FSO = WScript.CreateObject (« Scripting.FileSystemObject »)
   
   sFile = args. Article (0)
   le sErr = sFile et « n'existe pas ! »
   Si FSO.FileExists (sFile) puis
      oFile réglé = FSO.GetFile (sFile)
      sInfile = oFile.path
      sFileName = oFile.name
   Autrement
      sErr de WScript.Echo
      WScript.Quit 1
   Finir si
Finir le sous-marin

GetCurrentDirectory secondaire privé
   Faible aCurrentPath, FSO, sErr, oFile
   'Obtenir l'annuaire courant (où le manuscrit est localisé)
   Placer FSO = WScript.CreateObject (« Scripting.FileSystemObject »)
   Placer oFile = FSO.GetFile (le sScriptName)
   sCurrentDir = oFile.path
   l'aCurrentPath = s'est dédoublé (sCurrentDir, « : ")
   sCurrentDrive = aCurrentPath (0)
   le sErr = « ce programme doit résider sur une commande locale ou la commande tracée. »
   Si Len 1 (sCurrentDrive <> ) puis 
      sErr de WScript.Echo
      WScript.Quit 1
   Finir si
   sCurrentDir = aCurrentPath (1)
   sCurrentDir = mi (sCurrentDir, 1, Len (sCurrentDir) - Len (oFile.name))
   sPdftk = sCurrentDrive et « :  » et sCurrentDir et sTKCmd
Sous-marin d'extrémité
   
TryToAccessPDFTK secondaire privé
   Faible sErr, FSO
   'Essai pour accéder au programme de pdftk.exe
   Placer FSO = WScript.CreateObject (« Scripting.FileSystemObject »)
   
   le sErr = le sPdftk et « n'existe pas ! »
   Si FSO.FileExists (sPdftk) puis
      'Pdftk.exe trouvés dans l'annuaire courant…
   Autrement
      sErr de WScript.Echo
      WScript.Quit 1
   Finir si
Finir le sous-marin

GetTempFolder secondaire privé
   Faible oShell
   'Obtenir le chemin de la chemise provisoire
   placer l'oShell = le CreateObject (« WScript.Shell »)
   sTempPath = oShell.ExpandEnvironmentStrings (« %temp%")
   sComSpec = oShell.ExpandEnvironmentStrings (« %comspec%")
   sTempFile = sTempPath et « \ » et sFileName
Sous-marin d'extrémité
   
DeleteMetaFile secondaire privé
   Faible FSO, oOrigMetaFile
   'Supprimer les méta-données classent s'il existe déjà
   sMeta = sTempPath et « \ metadata.txt »
   Placer FSO = CreateObject (« Scripting.FileSystemObject »)
   Si FSO.FileExists (sMeta) puis 
      oOrigMetaFile réglé = FSO.GetFile (sMeta)
      oOrigMetaFile.Delete
   Finissent si
Sous-marin d'extrémité

CreateDumpDataCmd secondaire privé
   Faible oShell
   'Créer un objet de coquille de commande et l'information de pdf de décharge aux méta-données classent
   sCmd = sComSpec et « """ de /d de chdir de /c et sCurrentDrive et » : « et _ de sCurrentDir
      et """ et « et sTKCmd et » """ et _ sInfile et de """ de dump_data « 
      et « > """ et sMeta et """ 2>&1 »
   Placer l'oShell =  le WScript.CreateObject (« Wscript.Shell »)
   sCmd d'oShell.Run, HideWindow, vrai
Sous-marin d'extrémité

FixBrokenDictionary secondaire privé
   Faible oShell
   Pdf d'information 'créer de commande de coquille d'objet et de « chat » pdf nouveau
   sCmd = """" et sPdftk et """" et « « et """" et sInfile et """" et _ 
      le « chat produit » et le """" et sTempFile et le """" et « ne font pas _ask »
   Placer l'oShell =  le WScript.CreateObject (« Wscript.Shell »)
   sCmd d'oShell.Run, HideWindow, vrai
   sCmd = sComSpec et « mouvement /y de /c » et """" et sTempFile et """" et « « et _ de """"
      et sInfile et """"
   Placer l'oShell =  le WScript.CreateObject (« Wscript.Shell »)
   sCmd d'oShell.Run, HideWindow, vrai
   CreateDumpDataCmd ()
   WriteMetaData ()
Sous-marin d'extrémité

WriteMetaData secondaire privé
   Faible AU SUJET DE, FSO, TSO, sErr
   sErr = « incapable de réparer le dictionnaire d'information. »
   'Lire des méta-données classent, essai pour des expressions, 
   'et valeurs de méta-données de magasin
   Placer FSO = CreateObject (« Scripting.FileSystemObject »)
   Si FSO.FileExists (sMeta) puis
      Placer TSO = FSO.OpenTextFile (sMeta, ForReading, DontCreate)
      Placer AU SUJET DE = nouveau RegExp
      Obscurcir I, sLine
      Faire tandis que pas TSO.AtEndOfStream
         sLine = TSO.ReadLine
         RE.Pattern = « aucun dictionnaire d'information a trouvé »
	 Si RE.Test (sLine) puis
	    Si le noDict = rectifient alors
               sErr de WScript.Echo
               WScript.Quit 1
	    Autrement
	       le noDict = rectifient
               'TextStreamObject étroit
               TSO.Close
               FixBrokenDictionary ()
	       Sortir le sous-marin
	    Finir si
	 Autrement
	    noDict = faux
            Pour I = LBound (aFields) à UBound (aFields)
               RE.Pattern = « InfoKey :  » et aFields (I, 0)
               Si RE.Test (sLine) puis 
                  sLine = TSO.ReadLine
                  aFields (I, 1) = mi (sLine, 12)
               Finir si
            Après
	 Finir si
      Boucle
      'TextStreamObject étroit
      TSO.Close
   Finir si
Finir le sous-marin

DisplayMetaData secondaire privé
   Obscurcir I, msg, étiquettes, retval
   le msg = « votre dossier de pdf a les propriétés suivantes :  » et vbCRLF et vbCRLF
   Pour I = LBound (aFields) à UBound (aFields)
      Si Len (aFields (I, 0)) > 7 puis étiquettes = étiquettes de vbTab = vbTab et vbTab d'autre
      msg = msg et aFields (I, 0) et « :  » et étiquettes et aFields (I, 1) et vbCRLF
   Après
   msg = msg et vbCRLF et OK de vbCRLF et « de clic à continuer ou décommander à stopper. »
   retval = msgbox (msg, vbOKCancel, sAppTitle)
   Si retval = vbCancel puis WScript.Quit 1
Sous-marin d'extrémité

PromptForMetaData secondaire privé
   'Utilisateur prompt pour des méta-données, using des méta-données dans le dossier original en tant que défauts
   Obscurcir I
   Pour I = LBound (aFields) à UBound (aFields)
      aFields (I, 1) = _
         InputBox (« écrire » et les aFields (I, 0) et « :  », sAppTitle, aFields (I, 1))
   Après
Sous-marin d'extrémité

WriteNewMetaData secondaire privé
   Faible FSO, TSO
   'Ouvrir un dossier des textes et lui écrire les méta-données
   Placer FSO = CreateObject (« Scripting.FileSystemObject »)
   Placer TSO = FSO.OpenTextFile (le sMeta, ForWriting, créent)
   
   Obscurcir I
   Pour I = LBound (aFields) à UBound (aFields)
      TSO.Write « InfoKey :  » et aFields (I, 0) et vbCrLf
      TSO.Write « InfoValue :  » et aFields (I, 1) et vbCrLf
   Après
   
   'TextStreamObject étroit
   TSO.Close
Sous-marin d'extrémité

WriteMetaDataIntoNewPDF secondaire privé
   Faible oShell
   'Créer une variable de chaîne d'ordres de pdftk d'objet et d'ensemble de coquille de commande
   placer l'oShell = le WScript.CreateObject (« Wscript.Shell »)
   sCmd = """" et sPdftk et """" et « « et """" et sInfile et """" et _ 
      « update_info » et """" et sMeta et """" et « rendement » et _ de """"
      et sTempFile et """" et « ne font pas le _ask »
   Faible retval
   'Courir la commande de pdftk et détruire les variables locales pour libérer la mémoire
   sCmd d'oShell.run, HideWindow, vrai
   
   retval = msgbox (« rechercher le dossier de rendement dans la chemise provisoire » et le _ 
      « qui s'ouvrira après. » et vbCRLF et « le dossier de rendement » et _
      « aura le même nom que le dossier original.  », _
      vbOKCancel, sAppTitle)
   
   Si retval = vbCancel puis WScript.Quit 1
   
   'Explorateur ouvert à la chemise de temp
   oShell.run « explorateur » et sTempPath, 1, vrai
Sous-marin d'extrémité
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us