Questione : Meta dati del pdf di Vbscript per SharePoint 2010

Ciao, il

Does chiunque sa applicare i meta dati ad una lima ed allora presentare la lima al centro record tutta di SharePoint 2010's con VBScript?  Non con ASP.NET ma Cscript.

Many Thanks
class= del

Risposta : Meta dati del pdf di Vbscript per SharePoint 2010

nel passato ho usato http://www.verypdf.com/pdfinfoeditor/index.html

ma costoso ora

codice qui sotto da http://oreilly.com/pub/h/2407 (ma io non hanno provato)

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:
'==========================================================================
'Nome:          Redattore di meta dati del pdf
'Versione:       1.1
'Last modified: 2005-05-31
'URL di programma:   http://www.arilabs.com/software/pdfmeta/pdfmeta.vbs
'Nome di schedario:      pdfmeta.vbs
'Autore:        Brian alto  
'Copyright:     Analytical Resources, Inc. (2005)
'Autorizzazione:       Versioni 2 di GNU GPL (o maggior).  Vedere la sezione dell'AUTORIZZAZIONE qui sotto.
'Descrizione:   Permette che pubblichiate il titolo, l'autore, l'oggetto e le parole chiavi.
'                È una parte frontale di facile impiego, ma limitata a pdftk.
'Richiede:      pdftk-1.12, supporto di lingua di VBScript (ospite dello scritto di Windows)
'==========================================================================

'============
'Istruzioni
'============

'(1) richiede questo scritto (pdfmeta.vbs) di essere nello stesso dispositivo di piegatura di pdftk.exe.
'Il senso più facile installare il pdftk è di installare “il costruttore di PDFTK„ (libero).
'http://users.on.net/~johnson/pdftkb/pdftkb_setup.exe
'Il costruttore di PDFTK è una parte frontale del GUI per pdftk ed ha molte caratteristiche utili.

'    --O-- potete aprire la chiusura lampo di pdftk.exe dalla lima di chiusura lampo trovata qui:
'    http://www.accesspdf.com/pdftk/  (il collegamento di trasferimento dal sistema centrale verso i satelliti di scatto ed ottiene la chiusura lampo.)
'    (Posto pdftk.exe in un dispositivo di piegatura giustamente chiamato ed individuato.)

'    Vedere inoltre: http://hacks.oreilly.com/pub/h/2422

'(2) posto questo scritto (pdfmeta.vbs) nel dispositivo di piegatura dell'installazione per 
'pacchetto del pdftk.  Rendere per raccorciare a pdfmeta.vbs ed al posto sul vostro 
'tavolo, se gradite.

'(3) USO: Trascinare appena la lima del pdf di fonte su questo scritto di VBS (o sulla a 
'raccorciare ad esso).  Seguire i richiami.  Il dispositivo di piegatura provvisorio si aprirà 
'ed il nuovo pdf sarà all'interno.  Spostare il nuovo pdf verso la relativa destinazione.

'====================================================================
'AUTORIZZAZIONE: GNU GPL v2 o maggior:  http://www.gnu.org/licenses/gpl.txt
'====================================================================

'Questo programma è software libero; potete ridistribuirli e/o modificare
'esso ai sensi dell'autorizzazione del grande pubblico di GNU come pubblicata vicino
'Free Software Foundation; o versione 2 dell'autorizzazione, o
'(alla vostra opzione) qualsiasi versione successiva.
'
'Questo programma si distribuisce nella speranza che sarà utile,
'ma SENZA QUALSIASI GARANZIA; senza persino la garanzia implicita di
'MERCHANTABILITY o FORMA FISICA PER UNO SCOPO PRECISO.  Vedere
'Autorizzazione del grande pubblico di GNU per più particolari.

Opzione esplicita

'Dichiarare le variabili
Oscurare sInfile, lo sFileName, sTempFile, lo sCurrentDir, sCurrentDrive, sScriptName
Oscurare lo sComSpec, lo sMeta, lo sTempPath, lo sCmd, lo sPdftk, il sAppTitle, lo sTKCmd, args

'Configurare il titolo di applicazione ed il nome di schedario dell'ordine di PDFTK
sAppTitle = “redattore v1.1 di meta dati del pdf„
sTKCmd = “pdftk.exe„

'Per usare i campi differenti di meta dati, cambiare questa definizione di allineamento
Oscurare i aFields (3.1)
aFields (0.0) = “titolo„
aFields (1.0) = “oggetto„
aFields (2.0) = “autore„
aFields (3.0) = “parole chiavi„

'Regolare la bandierina per “il dizionario non trovata„
Oscurare il noDict
noDict = falso 

'Definire le costanti
Const genera = allinea, DontCreate = falso
Const HideWindow = 0, ShowWindow = 1
Const ForReading = 1, ForWriting = 2, ForAppending = 3

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

'Sottoprogrammi
GetArguments secondario riservato
   sErr fioco, numerico, oShell 
   'Ottenere le discussioni ed il controllo dello scritto per almeno uno (il nome di schedario)
   Regolare il oShell = WScript.CreateObject (“WScript.Shell„)
   Regolare i args = WScript.Arguments
   sScriptName = WScript.ScriptFullName
   
   numerico = args. Conteggio
   
   sErr = “uso: [cscript | wscript] pdfmeta.vbs „ & vbCRLF & _
      “(Appena trascinare una lima del pdf su questo scritto e seguire i richiami.)„
   
   Se = 0 numerico allora
      sErr di WScript.Echo
      WScript.Quit 1
   Concluder se
   Se InStr (UCase (args. Articolo (0)), “.PDF„) = 0 allora
      sErr di WScript.Echo
      WScript.Quit 1
   Concluder se
Concludere il sommergibile

OpenPDFFile secondario riservato
   sErr fioco, sFile, oFile, FSO
   'Prova per aprire l'archivio di entrata
   Regolar FSO = WScript.CreateObject (“Scripting.FileSystemObject„)
   
   sFile = args. Articolo (0)
   il sErr = sFile & “non esiste!„
   Se FSO.FileExists (sFile) allora
      oFile stabilito = FSO.GetFile (sFile)
      sInfile = oFile.path
      sFileName = oFile.name
   Altrimenti
      sErr di WScript.Echo
      WScript.Quit 1
   Concluder se
Concludere il sommergibile

GetCurrentDirectory secondario riservato
   aCurrentPath fioco, FSO, sErr, oFile
   'Ottenere l'indice corrente (dove lo scritto è individuato)
   Regolar FSO = WScript.CreateObject (“Scripting.FileSystemObject„)
   Regolar oFile = FSO.GetFile (sScriptName)
   sCurrentDir = oFile.path
   il aCurrentPath = ha spaccato (sCurrentDir, “: ")
   sCurrentDrive = aCurrentPath (0)
   il sErr = “questo programma deve risedere su un azionamento locale o su un azionamento tracciato.„
   Se Len 1 (sCurrentDrive <> ) allora 
      sErr di WScript.Echo
      WScript.Quit 1
   Concluder se
   sCurrentDir = aCurrentPath (1)
   sCurrentDir = metà di (sCurrentDir, 1, Len (sCurrentDir) - Len (oFile.name))
   sPdftk = sCurrentDrive & “: „ & sCurrentDir & sTKCmd
Sommergibile dell'estremità
   
TryToAccessPDFTK secondario riservato
   sErr fioco, FSO
   'Prova per accedere al programma di pdftk.exe
   Regolar FSO = WScript.CreateObject (“Scripting.FileSystemObject„)
   
   il sErr = lo sPdftk & “non esiste!„
   Se FSO.FileExists (sPdftk) allora
      'Pdftk.exe trovati nell'indice corrente…
   Altrimenti
      sErr di WScript.Echo
      WScript.Quit 1
   Concluder se
Concludere il sommergibile

GetTempFolder secondario riservato
   oShell fioco
   'Ottenere il percorso del dispositivo di piegatura provvisorio
   regolare il oShell = CreateObject (“WScript.Shell„)
   sTempPath = oShell.ExpandEnvironmentStrings (“%temp%")
   sComSpec = oShell.ExpandEnvironmentStrings (“%comspec%")
   sTempFile = sTempPath & “\„ & sFileName
Sommergibile dell'estremità
   
DeleteMetaFile secondario riservato
   FSO fioco, oOrigMetaFile
   'Cancellare i meta dati archivano se già esiste
   sMeta = sTempPath & “\ metadata.txt„
   Regolar FSO = CreateObject (“Scripting.FileSystemObject„)
   Se FSO.FileExists (sMeta) allora 
      oOrigMetaFile stabilito = FSO.GetFile (sMeta)
      oOrigMetaFile.Delete
   Si concludono se
Sommergibile dell'estremità

CreateDumpDataCmd secondario riservato
   oShell fioco
   'Generare un oggetto delle coperture di ordine ed il pdf Info del deposito ai meta dati archiva
   sCmd = sComSpec & “""" di /d del chdir di /c & sCurrentDrive &„: “& _ dello sCurrentDir
      & """ & “& sTKCmd &„ """ & _ del """ & sInfile di dump_data “
      & “> """ & sMeta & """ 2>&1„
   Regolare il oShell =  WScript.CreateObject (“Wscript.Shell„)
   sCmd di oShell.Run, HideWindow, allineare
Sommergibile dell'estremità

FixBrokenDictionary secondario riservato
   oShell fioco
   'Generare nuovo pdf di ordine delle coperture del pdf Info dell'oggetto e “del gatto„
   sCmd = """" & sPdftk & """" & ““& """" & sInfile & """" & _ 
      “il gatto prodotto„ & il """" & sTempFile & il """" & “non fanno _ask„
   Regolare il oShell =  WScript.CreateObject (“Wscript.Shell„)
   sCmd di oShell.Run, HideWindow, allineare
   sCmd = sComSpec & “movimento /y di /c„ & """" & sTempFile & """" & ““& _ del """"
      & sInfile & """"
   Regolare il oShell =  WScript.CreateObject (“Wscript.Shell„)
   sCmd di oShell.Run, HideWindow, allineare
   CreateDumpDataCmd ()
   WriteMetaData ()
Sommergibile dell'estremità

WriteMetaData secondario riservato
   Fioco CON RIFERIMENTO A, FSO, TSO, sErr
   sErr = “incapace di riparare il dizionario di Info.„
   'Leggere dai meta dati archivano, prova per le espressioni, 
   'e valori di meta dati del deposito
   Regolar FSO = CreateObject (“Scripting.FileSystemObject„)
   Se FSO.FileExists (sMeta) allora
      Regolar TSO = FSO.OpenTextFile (sMeta, ForReading, DontCreate)
      Regolar CON RIFERIMENTO A = nuovo RegExp
      Oscurare la i, sLine
      Fare mentre non TSO.AtEndOfStream
         sLine = TSO.ReadLine
         RE.Pattern = “nessun dizionario di Info ha trovato„
	 Se RE.Test (sLine) allora
	    Se il noDict = allora allinea
               sErr di WScript.Echo
               WScript.Quit 1
	    Altrimenti
	       il noDict = allinea
               'TextStreamObject vicino
               TSO.Close
               FixBrokenDictionary ()
	       Uscire il sommergibile
	    Concluder se
	 Altrimenti
	    noDict = falso
            Per i = LBound (aFields) a UBound (aFields)
               RE.Pattern = “InfoKey: „ & aFields (i, 0)
               Se RE.Test (sLine) allora 
                  sLine = TSO.ReadLine
                  aFields (i, 1) = metà di (sLine, 12)
               Concluder se
            Dopo
	 Concluder se
      Ciclo
      'TextStreamObject vicino
      TSO.Close
   Concluder se
Concludere il sommergibile

DisplayMetaData secondario riservato
   Oscurare la i, il msg, linguette, retval
   il msg = “la vostra lima del pdf ha le seguenti proprietà: „ & vbCRLF & vbCRLF
   Per i = LBound (aFields) a UBound (aFields)
      Se Len (aFields (i, 0)) > 7 allora linguette = linguette del vbTab = vbTab & vbTab altri
      msg = msg & aFields (i, 0) & “: „ & linguette & aFields (i, 1) & vbCRLF
   Dopo
   msg = msg & vbCRLF & APPROVAZIONE di scatto “& del vbCRLF da continuare o annullare a rinunciare.„
   retval = msgbox (msg, vbOKCancel, sAppTitle)
   Se retval = vbCancel allora WScript.Quit 1
Sommergibile dell'estremità

PromptForMetaData secondario riservato
   'Utente rapido per i meta dati, using i meta dati in lima originale come difetti
   Oscurare la i
   Per i = LBound (aFields) a UBound (aFields)
      aFields (i, 1) = _
         InputBox (“entrare„ & nei aFields (i, 0) & “: „, sAppTitle, aFields (i, 1))
   Dopo
Sommergibile dell'estremità

WriteNewMetaData secondario riservato
   FSO fioco, TSO
   'Aprire una lima di testo e scrivere i meta dati esso
   Regolar FSO = CreateObject (“Scripting.FileSystemObject„)
   Regolar TSO = FSO.OpenTextFile (sMeta, ForWriting, genera)
   
   Oscurare la i
   Per i = LBound (aFields) a UBound (aFields)
      TSO.Write “InfoKey: „ & aFields (i, 0) & vbCrLf
      TSO.Write “InfoValue: „ & aFields (i, 1) & vbCrLf
   Dopo
   
   'TextStreamObject vicino
   TSO.Close
Sommergibile dell'estremità

WriteMetaDataIntoNewPDF secondario riservato
   oShell fioco
   'Generare una variabile di stringa di ordine del pdftk dell'oggetto e dell'insieme delle coperture di ordine
   regolare il oShell = WScript.CreateObject (“Wscript.Shell„)
   sCmd = """" & sPdftk & """" & ““& """" & sInfile & """" & _ 
      “update_info„ & """" & sMeta & """" & “uscita„ & _ del """"
      & sTempFile & """" & “non fa il _ask„
   Retval fioco
   'Fare funzionare l'ordine del pdftk e distruggere le variabili locali per liberare la memoria
   sCmd di oShell.run, HideWindow, allineare
   
   retval = msgbox (“cercare l'archivio di uscita nel dispositivo di piegatura provvisorio„ & nel _ 
      “che si aprirà dopo.„ & vbCRLF & “l'archivio di uscita„ & _
      “avrà lo stesso nome della lima originale. „, _
      vbOKCancel, sAppTitle)
   
   Se retval = vbCancel allora WScript.Quit 1
   
   'Esploratore aperto al dispositivo di piegatura del temp
   oShell.run “esploratore„ & sTempPath, 1, allineare
Sommergibile dell'estremità
Altre soluzioni  
 
programming4us programming4us