Cuestión : Meta datos del pdf de Vbscript para SharePoint 2010

¿Hola, el

Does cualquier persona sabe aplicar meta datos a un archivo y después someter el archivo al centro de registro todo de SharePoint 2010's con VBScript?  No con ASP.NET pero Cscript.

Many Thanks
class= del

Respuesta : Meta datos del pdf de Vbscript para SharePoint 2010

en el pasado utilicé http://www.verypdf.com/pdfinfoeditor/index.html

pero costoso ahora

código abajo de http://oreilly.com/pub/h/2407 (solamente yo no han probado)

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:
'==========================================================================
'Nombre:          Redactor de los meta datos del pdf
'Versión:       1.1
'Last modified: 2005-05-31
'URL del programa:   http://www.arilabs.com/software/pdfmeta/pdfmeta.vbs
'Nombre de fichero:      pdfmeta.vbs
'Autor:        Brian alto  
'Derechos reservados:     Analytical Resources, Inc. (2005)
'Licencia:       Versión 2 del GNU GLP (o mayor).  Ver la sección de la LICENCIA abajo.
'Descripción:   Permite que usted corrija título, el autor, el tema, y palabras claves.
'                Es partes frontales fáciles de utilizar, pero limitadas al pdftk.
'Requiere:      pdftk-1.12, ayuda de la lengua de VBScript (anfitrión de la escritura de Windows)
'==========================================================================

'============
'Instrucciones
'============

'(1) requiere esta escritura (pdfmeta.vbs) estar en la misma carpeta que pdftk.exe.
'La manera más fácil de instalar el pdftk es instalar el “constructor de PDFTK” (libre).
'http://users.on.net/~johnson/pdftkb/pdftkb_setup.exe
El 'constructor de PDFTK es partes frontales del GUI para el pdftk y tiene muchas características útiles.

'    --O-- usted puede desabrochar pdftk.exe del archivo de cierre relámpago encontrado aquí:
'    http://www.accesspdf.com/pdftk/  (el acoplamiento de la transferencia directa del tecleo y consigue el cierre relámpago.)
'    (Lugar pdftk.exe en una carpeta apropiadamente nombrada y localizada.)

'    Ver también: http://hacks.oreilly.com/pub/h/2422

'(2) lugar esta escritura (pdfmeta.vbs) en la carpeta de la instalación para 
'paquete del pdftk.  Hacer para atajar a pdfmeta.vbs y al lugar en su 
'mesa, si usted tiene gusto.

'(3) USO: Apenas arrastrar el archivo del pdf de la fuente sobre esta escritura de VBS (o a 
'atajar a él).  Seguir los avisos.  La carpeta temporal se abrirá 
'y el nuevo pdf estará adentro.  Mover el nuevo pdf a su destinación.

'====================================================================
'LICENCIA: GNU GLP v2 o mayor:  http://www.gnu.org/licenses/gpl.txt
'====================================================================

'Este programa es software libre; usted puede redistribuirlo y/o modificarse
'él de conformidad con la licencia el público en general del GNU según lo publicado cerca
'Free Software Foundation; o versión 2 de la licencia, o
'(en su opción) cualquie versión posterior.
'
'Este programa se distribuye con la esperanza de que sea útil,
'pero SIN CUALQUIE GARANTÍA; sin incluso la garantía implicada de
'MERCHANTABILITY o APTITUD PARA UN PROPÓSITO PARTICULAR.  Ver
'Licencia el público en general del GNU para más detalles.

Opción explícita

'Declarar las variables
Amortiguar sInfile, sFileName, sTempFile, sCurrentDir, sCurrentDrive, sScriptName
Amortiguar el sComSpec, sMeta, sTempPath, sCmd, sPdftk, sAppTitle, sTKCmd, args

'Configurar el título del uso y el nombre de fichero del comando de PDFTK
sAppTitle = “redactor v1.1 de los meta datos del pdf”
sTKCmd = “pdftk.exe”

'Para utilizar diversos campos de los meta datos, cambiar esta definición del arsenal
Amortiguar los aFields (3.1)
aFields (0.0) = “título”
aFields (1.0) = “tema”
aFields (2.0) = “autor”
aFields (3.0) = “palabras claves”

'Fijar la bandera para el “diccionario no encontrada”
Amortiguar el noDict
noDict = falso 

'Definir los constantes
Const crea = verdad, DontCreate = falso
Const HideWindow = 0, ShowWindow = 1
Const ForReading = 1, ForWriting = 2, ForAppending = 3

'Rutina principal
GetArguments ()
OpenPDFFile ()
GetCurrentDirectory ()
TryToAccessPDFTK ()
GetTempFolder ()
DeleteMetaFile ()
CreateDumpDataCmd ()
WriteMetaData ()
DisplayMetaData ()
PromptForMetaData ()
WriteNewMetaData ()
WriteMetaDataIntoNewPDF ()

'Subrutinas
GetArguments secundario privado
   sErr dévil, numérico, oShell 
   'Conseguir las discusiones y el cheque por lo menos una de la escritura (el nombre de fichero)
   Fijar el oShell = WScript.CreateObject (“WScript.Shell”)
   Fijar los args = WScript.Arguments
   sScriptName = WScript.ScriptFullName
   
   numérico = args. Cuenta
   
   sErr = “uso: [cscript | wscript] pdfmeta.vbs ” y vbCRLF y _
      “(Apenas arrastrar un archivo del pdf sobre esta escritura y seguir los avisos.)”
   
   Si = 0 numérico entonces
      sErr de WScript.Echo
      WScript.Quit 1
   Terminar si
   Si InStr (UCase (args. Artículo (0)), “.PDF”) = 0 entonces
      sErr de WScript.Echo
      WScript.Quit 1
   Terminar si
Terminar el submarino

OpenPDFFile secundario privado
   sErr dévil, sFile, oFile, FSO
   'Intento para abrir el fichero de entrada
   Fijar FSO = WScript.CreateObject (“Scripting.FileSystemObject”)
   
   sFile = args. Artículo (0)
   el sErr = sFile y “no existe!”
   Si FSO.FileExists (sFile) entonces
      oFile determinado = FSO.GetFile (sFile)
      sInfile = oFile.path
      sFileName = oFile.name
   
      sErr de WScript.Echo
      WScript.Quit 1
   Terminar si
Terminar el submarino

GetCurrentDirectory secundario privado
   aCurrentPath dévil, FSO, sErr, oFile
   'Conseguir el directorio actual (donde se localiza la escritura)
   Fijar FSO = WScript.CreateObject (“Scripting.FileSystemObject”)
   Fijar oFile = FSO.GetFile (el sScriptName)
   sCurrentDir = oFile.path
   el aCurrentPath = partió (sCurrentDir, “: ")
   sCurrentDrive = aCurrentPath (0)
   el sErr = “este programa debe residir en una impulsión local o la impulsión trazada.”
   Si Len 1 (sCurrentDrive <> ) entonces 
      sErr de WScript.Echo
      WScript.Quit 1
   Terminar si
   sCurrentDir = aCurrentPath (1)
   sCurrentDir = mediados de (sCurrentDir, 1, Len (sCurrentDir) - Len (oFile.name))
   sPdftk = sCurrentDrive y “: ” y sCurrentDir y sTKCmd
Submarino del extremo
   
TryToAccessPDFTK secundario privado
   sErr dévil, FSO
   'Intento para tener acceso al programa de pdftk.exe
   Fijar FSO = WScript.CreateObject (“Scripting.FileSystemObject”)
   
   el sErr = el sPdftk y “no existe!”
   Si FSO.FileExists (sPdftk) entonces
      'Pdftk.exe encontrados en directorio actual…
   
      sErr de WScript.Echo
      WScript.Quit 1
   Terminar si
Terminar el submarino

GetTempFolder secundario privado
   oShell dévil
   'Conseguir la trayectoria de la carpeta temporal
   fijar el oShell = CreateObject (“WScript.Shell”)
   sTempPath = oShell.ExpandEnvironmentStrings (“%temp%")
   sComSpec = oShell.ExpandEnvironmentStrings (“%comspec%")
   sTempFile = sTempPath y “\” y sFileName
Submarino del extremo
   
DeleteMetaFile secundario privado
   FSO dévil, oOrigMetaFile
   'Suprimir los meta datos archivan si existe ya
   sMeta = sTempPath y “\ metadata.txt”
   Fijar FSO = CreateObject (“Scripting.FileSystemObject”)
   Si FSO.FileExists (sMeta) entonces 
      oOrigMetaFile determinado = FSO.GetFile (sMeta)
      oOrigMetaFile.Delete
   Terminan si
Submarino del extremo

CreateDumpDataCmd secundario privado
   oShell dévil
   'Crear un objeto de la cáscara de comando y el pdf Info de la descarga a los meta datos archiva
   sCmd = sComSpec y “""" de /d del chdir de /c y sCurrentDrive y”: “y _ del sCurrentDir
      y """ y “y sTKCmd y” """ y _ sInfile y del """ del dump_data “
      y “> """ y sMeta y """ 2>&1”
   Fijar el oShell =  WScript.CreateObject (“Wscript.Shell”)
   sCmd de oShell.Run, HideWindow, verdad
Submarino del extremo

FixBrokenDictionary secundario privado
   oShell dévil
   'Crear nuevo pdf de comando de la cáscara de un pdf Info del objeto y del “gato”
   sCmd = """" y sPdftk y """" y ““y """" y sInfile y """" y _ 
      el “gato hecho salir” y el """" y sTempFile y el """" y “no hacen _ask”
   Fijar el oShell =  WScript.CreateObject (“Wscript.Shell”)
   sCmd de oShell.Run, HideWindow, verdad
   sCmd = sComSpec y “movimiento /y de /c” y """" y sTempFile y """" y ““y _ del """"
      y sInfile y """"
   Fijar el oShell =  WScript.CreateObject (“Wscript.Shell”)
   sCmd de oShell.Run, HideWindow, verdad
   CreateDumpDataCmd ()
   WriteMetaData ()
Submarino del extremo

WriteMetaData secundario privado
   Dévil CON REFERENCIA A, FSO, TSO, sErr
   sErr = “incapaz de reparar el diccionario del Info.”
   'Leer en meta datos archivan, prueba para las expresiones, 
   'y valores de los meta datos del almacén
   Fijar FSO = CreateObject (“Scripting.FileSystemObject”)
   Si FSO.FileExists (sMeta) entonces
      Fijar TSO = FSO.OpenTextFile (sMeta, ForReading, DontCreate)
      Fijar CON REFERENCIA A = nuevo RegExp
      Amortiguar i, sLine
      Hacer mientras que no TSO.AtEndOfStream
         sLine = TSO.ReadLine
         RE.Pattern = “ningún diccionario del Info encontró”
	 Si RE.Test (sLine) entonces
	    Si el noDict = entonces verdad
               sErr de WScript.Echo
               WScript.Quit 1
	    
	       el noDict = verdad
               'TextStreamObject cercano
               TSO.Close
               FixBrokenDictionary ()
	       Salir el submarino
	    Terminar si
	 
	    noDict = falso
            Para i = LBound (aFields) a UBound (aFields)
               RE.Pattern = “InfoKey: ” y aFields (i, 0)
               Si RE.Test (sLine) entonces 
                  sLine = TSO.ReadLine
                  aFields (i, 1) = mediados de (sLine, 12)
               Terminar si
            Después
	 Terminar si
      Lazo
      'TextStreamObject cercano
      TSO.Close
   Terminar si
Terminar el submarino

DisplayMetaData secundario privado
   Amortiguar i, msg, lengüetas, retval
   el msg = “su archivo del pdf tiene las características siguientes: ” y vbCRLF y vbCRLF
   Para i = LBound (aFields) a UBound (aFields)
      Si Len (aFields (i, 0)) > 7 entonces lengüetas = lengüetas del vbTab = vbTab y vbTab otros
      msg = msg y aFields (i, 0) y “: ” y lengüetas y aFields (i, 1) y vbCRLF
   Después
   msg = msg y vbCRLF y AUTORIZACIÓN del vbCRLF y “del tecleo a continuar o a cancelar parando.”
   retval = msgbox (msg, vbOKCancel, sAppTitle)
   Si es retval = vbCancel entonces WScript.Quit 1
Submarino del extremo

PromptForMetaData secundario privado
   'Usuario pronto para los meta datos, usar meta datos en archivo original como defectos
   Amortiguar i
   Para i = LBound (aFields) a UBound (aFields)
      aFields (i, 1) = _
         InputBox (“incorporar” y los aFields (i, 0) y “: ”, sAppTitle, aFields (i, 1))
   Después
Submarino del extremo

WriteNewMetaData secundario privado
   FSO dévil, TSO
   'Abrir un archivo de texto y escribirle los meta datos
   Fijar FSO = CreateObject (“Scripting.FileSystemObject”)
   Fijar TSO = FSO.OpenTextFile (el sMeta, ForWriting, crea)
   
   Amortiguar i
   Para i = LBound (aFields) a UBound (aFields)
      TSO.Write “InfoKey: ” y aFields (i, 0) y vbCrLf
      TSO.Write “InfoValue: ” y aFields (i, 1) y vbCrLf
   Después
   
   'TextStreamObject cercano
   TSO.Close
Submarino del extremo

WriteMetaDataIntoNewPDF secundario privado
   oShell dévil
   'Crear una variable de secuencia de comando del pdftk del objeto y del sistema de la cáscara de comando
   fijar el oShell = WScript.CreateObject (“Wscript.Shell”)
   sCmd = """" y sPdftk y """" y ““y """" y sInfile y """" y _ 
      “update_info” y """" y sMeta y """" y “salida” y _ del """"
      y sTempFile y """" y “no hace el _ask”
   Retval dévil
   'Funcionar con el comando del pdftk y destruir las variables locales para lanzar memoria
   sCmd de oShell.run, HideWindow, verdad
   
   retval = msgbox (“buscar el archivo de salida en la carpeta temporal” y el _ 
      “que se abrirá después.” y vbCRLF y “el archivo de salida” y _
      “tendrá el mismo nombre que el archivo original. ”, _
      vbOKCancel, sAppTitle)
   
   Si es retval = vbCancel entonces WScript.Quit 1
   
   'Explorador abierto a la carpeta del temp
   oShell.run “explorador” y sTempPath, 1, verdad
Submarino del extremo
Otras soluciones  
 
programming4us programming4us