Вопрос : Metadata PDF Vbscript на SharePoint 2010

Здравствулте!,

Does любое умеет как приложить metadata к архиву и после этого представить архив к центру SharePoint 2010's рекордному все с VBScript?  Не с ASP.NET но Cscript.

Many Thanks
class=

Ответ : Metadata PDF Vbscript на SharePoint 2010

в прошлом я использовал http://www.verypdf.com/pdfinfoeditor/index.html

но дороге теперь

Кодий ниже от http://oreilly.com/pub/h/2407 (только испытанного бедного человек I)

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:
'==========================================================================
'Имя:          Редактор Metadata PDF
'Вариант:       1.1
'Доработанное последнее: 2005-05-31
'URL программы:   http://www.arilabs.com/software/pdfmeta/pdfmeta.vbs
'Filename:      pdfmeta.vbs
'Автор:        Брайан высокое  
'Авторское право:     Аналитически Ресурсы, Inc. (2005)
'Лицензия:       2-ой вариант GNU GPL (или большой).  См. раздел ЛИЦЕНЗИИ ниже.
'Описание:   Оно позволяет вас редактировать название, автор, вопрос, и ключевые слова.
'                Будет легким для использования, но лимитированным началом к pdftk.
'Требует:      pdftk-1.12, поддержка языка VBScript (хозяин сценария Windows)
'==========================================================================

'============
'Инструкции
'============

'(1) требует, что этот сценарий (pdfmeta.vbs) находит в таком же скоросшивателе как pdftk.exe.
'Самая легкая дорога установить pdftk должна установить «строителя PDFTK» (свободно).
'http://users.on.net/~johnson/pdftkb/pdftkb_setup.exe
'Строитель PDFTK будет началом GUI для pdftk и имеет много полезных характеристик.

'    --Или-- вы можете unzip pdftk.exe от архива застежка-молнии ого здесь:
'    http://www.accesspdf.com/pdftk/  (соединение загрузки щелчка и получает застежка-молнию.)
'    (Место pdftk.exe в соотвествующе названном и обнаруженном местонахождение скоросшивателе.)

'    См. также: http://hacks.oreilly.com/pub/h/2422

'(2) место этот сценарий (pdfmeta.vbs) в скоросшивателе установки для 
'пакет pdftk.  Сделайте кратчайший путь к pdfmeta.vbs и установьте на вашем 
'настольный компьютер, если вы любите.

'(3) ИСПОЛЬЗОВАНИЕ: Как раз волочите архив PDF источника на этот сценарий VBS (или a 
'shortcut к ему).  Последуйте за подсказками.  Временно скоросшиватель раскроет 
'и новое PDF будет внутрь.  Двиньте новое PDF к своему назначению.

'====================================================================
'ЛИЦЕНЗИЯ: GNU GPL v2 или большой:  http://www.gnu.org/licenses/gpl.txt
'====================================================================

'Этой программой будет бесплатное программное обеспечение; вы можете перераспределить его and/or доработать
'оно в соответствии с лицензии широкой публики GNU как опубликовано мимо
'Фонд Свободного Программного Обеспечения; или 2-ой вариант лицензии, или
'(на вашем варианте) любой более последний вариант.
'
'Эта программа распределена в уповании что будет полезно,
'но БЕЗ ЛЮБОЙ ГАРАНТИРОВАННОСТИ; без даже подразумеваемой гарантированности 
'MERCHANTABILITY или ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.  См.
'Лицензия широкой публики GNU для больше деталей.

Вариант точный

'Объявите перемеююые
Затемните sInfile, sFileName, sTempFile, sCurrentDir, sCurrentDrive, sScriptName
Затемните sComSpec, sMeta, sTempPath, sCmd, sPdftk, sAppTitle, sTKCmd, args

'Установите название применения и filename командование PDFTK
sAppTitle = «редактор v1.1 Metadata PDF»
sTKCmd = «pdftk.exe»

'Использовать по-разному поля metadata, измените это определение блока
Затемните aFields (3.1)
aFields (0.0) = «название»
aFields (1.0) = «вопрос»
aFields (2.0) = «автор»
aFields (3.0) = «ключевые слова»

'Установите флаг для «словаря о»
Затемните noDict
noDict = ложно 

'Определите константы
Const создается = True, DontCreate = ложно
Const HideWindow = 0, ShowWindow = 1
Const ForReading = 1, ForWriting = 2, ForAppending = 3

'Главным образом режим
GetArguments ()
OpenPDFFile ()
GetCurrentDirectory ()
TryToAccessPDFTK ()
GetTempFolder ()
DeleteMetaFile ()
CreateDumpDataCmd ()
WriteMetaData ()
DisplayMetaData ()
PromptForMetaData ()
WriteNewMetaData ()
WriteMetaDataIntoNewPDF ()

'Подпрограммы
Приватное Sub GetArguments
   Тусклое sErr, num, oShell 
   'Получите аргументы и проверку сценария для хотя бы одного (архив - имя)
   Установите oShell = WScript.CreateObject («WScript.Shell»)
   Установите args = WScript.Arguments
   sScriptName = WScript.ScriptFullName
   
   num = args. Отсчет
   
   sErr = «использование: [cscript | wscript] pdfmeta.vbs » & vbCRLF & _
      «(Как раз волочите архив PDF на этот сценарий и следуйте за подсказками.)»
   
   Если num = 0 после этого
      sErr WScript.Echo
      WScript.Quit 1
   Закончитесь если
   Если InStr, то (UCase (args. Деталь (0)), «.PDF») = 0 после этого
      sErr WScript.Echo
      WScript.Quit 1
   Закончитесь если
Закончите подводную лодку

Приватное Sub OpenPDFFile
   Тусклое sErr, sFile, oFile, FSO
   'Попытка для того чтобы раскрыть входной файл
   Установите FSO = WScript.CreateObject («Scripting.FileSystemObject»)
   
   sFile = args. Деталь (0)
   sErr = sFile & «не существует!»
   Если FSO.FileExists (sFile) после этого
      Установленное oFile = FSO.GetFile (sFile)
      sInfile = oFile.path
      sFileName = oFile.name
   Еще
      sErr WScript.Echo
      WScript.Quit 1
   Закончитесь если
Закончите подводную лодку

Приватное Sub GetCurrentDirectory
   Тусклое aCurrentPath, FSO, sErr, oFile
   'Получите текущий каталог (где сценарий обнаружен местонахождение)
   Установите FSO = WScript.CreateObject («Scripting.FileSystemObject»)
   Установите oFile = FSO.GetFile (sScriptName)
   sCurrentDir = oFile.path
   aCurrentPath = разделило (sCurrentDir, «: ")
   sCurrentDrive = aCurrentPath (0)
   sErr = «эта программа должно пребывать на местном приводе или составленном карту приводе.»
   Если Len (sCurrentDrive) <> 1 после этого 
      sErr WScript.Echo
      WScript.Quit 1
   Закончитесь если
   sCurrentDir = aCurrentPath (1)
   sCurrentDir = средний (sCurrentDir, 1, Len (sCurrentDir) - Len (oFile.name))
   sPdftk = sCurrentDrive & «: » & sCurrentDir & sTKCmd
Подводная лодка конца
   
Приватное Sub TryToAccessPDFTK
   Тусклое sErr, FSO
   'Попытка для того чтобы достигнуть программы pdftk.exe
   Установите FSO = WScript.CreateObject («Scripting.FileSystemObject»)
   
   sErr = sPdftk & «не существуют!»
   Если FSO.FileExists (sPdftk) после этого
      'Ые pdftk.exe в текущем каталоге…
   Еще
      sErr WScript.Echo
      WScript.Quit 1
   Закончитесь если
Закончите подводную лодку

Приватное Sub GetTempFolder
   Тусклое oShell
   'Получите курс временно скоросшивателя
   установите oShell = CreateObject («WScript.Shell»)
   sTempPath = oShell.ExpandEnvironmentStrings («%temp%")
   sComSpec = oShell.ExpandEnvironmentStrings («%comspec%")
   sTempFile = sTempPath & «\» & sFileName
Подводная лодка конца
   
Приватное Sub DeleteMetaFile
   Тусклое FSO, oOrigMetaFile
   'Уничтожьте metadata храньте если оно уже существует
   sMeta = sTempPath & «\ metadata.txt»
   Установите FSO = CreateObject («Scripting.FileSystemObject»)
   Если FSO.FileExists (sMeta) после этого 
      Установленное oOrigMetaFile = FSO.GetFile (sMeta)
      oOrigMetaFile.Delete
   Закончитесь если
Подводная лодка конца

Приватное Sub CreateDumpDataCmd
   Тусклое oShell
   'Создайте предмет раковины командование и PDF info сброса к metadata хранит
   sCmd = sComSpec & «""" /d chdir /c & sCurrentDrive &»: «& _ sCurrentDir
      & """ & «& sTKCmd &» """ & _ sInfile & """ dump_data «
      & «> """ & sMeta & """ 2>&1»
   Установите oShell =  WScript.CreateObject («Wscript.Shell»)
   sCmd oShell.Run, HideWindow, поистине
Подводная лодка конца

Приватное Sub FixBrokenDictionary
   Тусклое oShell
   'Создайте PDF PDF info предмета и «кота» раковины командование новое
   sCmd = """" & sPdftk & """" & ««& """" & sInfile & """" & _ 
      «ый кот» & """" & sTempFile & """" & «не делают _ask»
   Установите oShell =  WScript.CreateObject («Wscript.Shell»)
   sCmd oShell.Run, HideWindow, поистине
   sCmd = sComSpec & «движение /y /c» & """" & sTempFile & """" & ««& _ """"
      & sInfile & """"
   Установите oShell =  WScript.CreateObject («Wscript.Shell»)
   sCmd oShell.Run, HideWindow, поистине
   CreateDumpDataCmd ()
   WriteMetaData ()
Подводная лодка конца

Приватное Sub WriteMetaData
   Тускло RE, FSO, TSO, sErr
   sErr = «неспособно для того чтобы отремонтировать словарь info.»
   'Прочитайте от metadata храньте, испытание для выражений, 
   'и значения metadata магазина
   Установите FSO = CreateObject («Scripting.FileSystemObject»)
   Если FSO.FileExists (sMeta) после этого
      Установите TSO = FSO.OpenTextFile (sMeta, ForReading, DontCreate)
      Установите RE = новое RegExp
      Затемните I, sLine
      Сделайте пока не TSO.AtEndOfStream
         sLine = TSO.ReadLine
         RE.Pattern = «никакой ый словарь info»
	 Если RE.Test (sLine) после этого
	    Если noDict = True после этого
               sErr WScript.Echo
               WScript.Quit 1
	    Еще
	       noDict = True
               'Близкое TextStreamObject
               TSO.Close
               FixBrokenDictionary ()
	       Выходите подводная лодка
	    Закончитесь если
	 Еще
	    noDict = ложно
            Для I = LBound (aFields) к UBound (aFields)
               RE.Pattern = «InfoKey: » & aFields (I, 0)
               Если RE.Test (sLine) после этого 
                  sLine = TSO.ReadLine
                  aFields (I, 1) = средний (sLine, 12)
               Закончитесь если
            Затем
	 Закончитесь если
      Петля
      'Близкое TextStreamObject
      TSO.Close
   Закончитесь если
Закончите подводную лодку

Приватное Sub DisplayMetaData
   Затемните I, msg, платы, retval
   msg = «ваш архив PDF имеет следующий свойства: » & vbCRLF & vbCRLF
   Для I = LBound (aFields) к UBound (aFields)
      Если Len, то (aFields (I, 0)) > 7 после этого плат = платы vbTab другие = vbTab & vbTab
      msg = msg & aFields (I, 0) & «: » & платы & aFields (I, 1) & vbCRLF
   Затем
   msg = msg & vbCRLF & О'КЕЙО vbCRLF & «щелчка, котор нужно продолжать или отменять прекратить.»
   retval = msgbox (msg, vbOKCancel, sAppTitle)
   Если retval = vbCancel после этого WScript.Quit 1
Подводная лодка конца

Приватное Sub PromptForMetaData
   'Проворный потребитель для metadata, using metadata в первоначально архиве как невыполнения обязательства
   Затемните I
   Для I = LBound (aFields) к UBound (aFields)
      aFields (I, 1) = _
         InputBox («впишите» & aFields (I, 0) & «: », sAppTitle, aFields (I, 1))
   Затем
Подводная лодка конца

Приватное Sub WriteNewMetaData
   Тусклое FSO, TSO
   'Раскройте архив текста и напишите metadata к ему
   Установите FSO = CreateObject («Scripting.FileSystemObject»)
   Установите TSO = FSO.OpenTextFile (sMeta, ForWriting, создается)
   
   Затемните I
   Для I = LBound (aFields) к UBound (aFields)
      TSO.Write «InfoKey: » & aFields (I, 0) & vbCrLf
      TSO.Write «InfoValue: » & aFields (I, 1) & vbCrLf
   Затем
   
   'Близкое TextStreamObject
   TSO.Close
Подводная лодка конца

Приватное Sub WriteMetaDataIntoNewPDF
   Тусклое oShell
   'Создайте перемеююый командной строки pdftk предмета и комплекта раковины командование
   установите oShell = WScript.CreateObject («Wscript.Shell»)
   sCmd = """" & sPdftk & """" & ««& """" & sInfile & """" & _ 
      «update_info» & """" & sMeta & """" & «выход» & _ """"
      & sTempFile & """" & «не делает _ask»
   Тусклое retval
   'Побегите командование pdftk и разрушьте местные перемеююые для того чтобы выпустить память
   sCmd oShell.run, HideWindow, поистине
   
   retval = msgbox («ищите выходной файл в временно скоросшивателе» & _ 
      «раскроет затем.» & vbCRLF & «выходной файл» & _
      «имеет такое же имя как первоначально архив. », _
      vbOKCancel, sAppTitle)
   
   Если retval = vbCancel после этого WScript.Quit 1
   
   'Открытый исследователь к скоросшивателю temp
   oShell.run «исследователь» & sTempPath, 1, поистине
Подводная лодка конца
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us