В SharePoint 2010 есть служба называется Word Automation Services. Используется главным образом для преобразования документов Word в различные форматы. В принципе они соответствуют типам в обычном Word 2010. Например можно открыть файлы с расширением:
docx, doc, dotx, rtf, dot и другие. И соответственно сохранить открытый файл можно с теми же расширениями и xps, pdf.
В этой статье разберем как же пользоваться этой службой для преобразования файлов.
Начнем с того что все приложения с использованием API вы не сможете развернуть в Sandbox'е. Скорее вы должны сразу рассматривать его как решение для фермы.
Если открыть MSDN и посмотреть методы преобразования файлов, то можно увидеть, что есть несколько типов преобразования:
1)AddFile() - добавление файла
3) AddLibraty() - добавления целой библиотеки
В примере ниже рассмотрим преобразование файла из формата doc в формат pdf.
Приступим.
1. Создадим новый проект SharePoint в Visual Studio.
Я пишу больше на C# поэтому и код будет соответственно на нём.
Выберем для создания новый Web Part. Далее необходимо добавить в Reference нужную нам библиотеку Microsoft.Office.Word.Server.dll у меня она находилась в c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\.

2. После добавления нужно прописать в *ascx.cs строчки:
using Microsoft.Office.Word.Server.Service;
using Microsoft.Office.Word.Server.Conversions;
3. Напишем сам обработчик и завесим на кнопку.
protected void Button1_Click(object sender, EventArgs e)
{
try
{
ConversionJob job = new ConversionJob("Word Automation Services");
//указать параметры преобразования
job.UserToken = SPContext.Current.Web.CurrentUser.UserToken;
job.Settings.OutputFormat = SaveFormat.PDF;
job.Name = "Document Workflow";
//добавляем файл здесь сделал вручную
string fileUrl = "http://testpoint/DocLib/2.docx";
job.AddFile(fileUrl, Path.ChangeExtension(fileUrl, "pdf"));
//стартуем задачу преобразования
job.Start();
}catch(Exeption ex){}
}
В этом примере я явно указал где взять исходный файл и куда его поместить. А помещается он в данном случае в эту же библиотеку с расширением *.pdf
Вот так можно сделать конвертацию файла одним нажатием кнопки.
docx, doc, dotx, rtf, dot и другие. И соответственно сохранить открытый файл можно с теми же расширениями и xps, pdf.
В этой статье разберем как же пользоваться этой службой для преобразования файлов.
Начнем с того что все приложения с использованием API вы не сможете развернуть в Sandbox'е. Скорее вы должны сразу рассматривать его как решение для фермы.
Если открыть MSDN и посмотреть методы преобразования файлов, то можно увидеть, что есть несколько типов преобразования:
1)AddFile() - добавление файла
AddFile()
AddFile()
2)AddFolder() - добавление папки3) AddLibraty() - добавления целой библиотеки
В примере ниже рассмотрим преобразование файла из формата doc в формат pdf.
Приступим.
1. Создадим новый проект SharePoint в Visual Studio.
Я пишу больше на C# поэтому и код будет соответственно на нём.
Выберем для создания новый Web Part. Далее необходимо добавить в Reference нужную нам библиотеку Microsoft.Office.Word.Server.dll у меня она находилась в c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\.
Microsoft.Office.Word.Server.dll#sthash.edl0m7d6.dpuf
Microsoft.Office.Word.Server.dll#sthash.edl0m7d6.dpuf
Microsoft.Office.Word.Server.dll#sthash.edl0m7d6.dpuf
Microsoft.Office.Word.Server.dll#sthash.edl0m7d6.dpuf
Microsoft.Office.Word.Server.dll#sthash.edl0m7d6.dpuf
2. После добавления нужно прописать в *ascx.cs строчки:
using Microsoft.Office.Word.Server.Service;
using Microsoft.Office.Word.Server.Conversions;
3. Напишем сам обработчик и завесим на кнопку.
protected void Button1_Click(object sender, EventArgs e)
{
try
{
ConversionJob job = new ConversionJob("Word Automation Services");
//указать параметры преобразования
job.UserToken = SPContext.Current.Web.CurrentUser.UserToken;
job.Settings.OutputFormat = SaveFormat.PDF;
job.Name = "Document Workflow";
//добавляем файл здесь сделал вручную
string fileUrl = "http://testpoint/DocLib/2.docx";
job.AddFile(fileUrl, Path.ChangeExtension(fileUrl, "pdf"));
//стартуем задачу преобразования
job.Start();
}catch(Exeption ex){}
}
В этом примере я явно указал где взять исходный файл и куда его поместить. А помещается он в данном случае в эту же библиотеку с расширением *.pdf
Вот так можно сделать конвертацию файла одним нажатием кнопки.
Комментариев нет:
Отправить комментарий