Как преобразовать файлы Excel (файлы XSLX) в PDF в веб-части sharepoint? - PullRequest
2 голосов
/ 20 января 2012

Я занимаюсь разработкой веб-части sharepoint. Я настроил ленту сервера sharepoint. Лента сервера Sharepoint теперь включает одну кнопку. При нажатии на эту кнопку я загружаю файлы xlsx из библиотеки sharepoint на один из моих локальных дисков. Теперь я хочу преобразовать этот загруженный файл xlsx в файл PDF. Затем я хочу загрузить этот файл PDF в одну библиотеку документов в sharepoint. Для настройки ленты сервера и обработки кнопки обратной передачи я использую следующую ссылку, в которой приведен пример кода для загрузки

Настройка и расширение ленты сервера SharePoint 2010

Пример кода работает нормально для меня. Я загрузил файлы xlsx в локальную папку. Теперь я хочу преобразовать эти загруженные файлы xlsx, находящиеся в локальной папке, в файлы pdf. Поэтому я использую следующую ссылку

Преобразование файла xlsx в файл pdf

Пример кода, приведенный в приведенной выше ссылке, также является рабочим файлом для меня в консольном приложении. Я могу конвертировать xlsx файлы в pdf файлы в консольном приложении. Но когда я сделал копирование и вставку кода в проект sharepoint, он не работает. Я не могу понять, почему тот же код не работает в проекте sharepoint? Код выглядит следующим образом

        SautinSoft.UseOffice u = new SautinSoft.UseOffice();

        //Path to any local file
        string inputFilePath =  "D:\\a.xlsx";
        //string inputFilePath = "http://shailesh-pc/TemplateInvoice/Template.xlsx";
        //Path to output resulted file
        string outputFilePath = "D:\\afadfasfd.pdf";
        //string outputFilePath = "http://shailesh-pc/Invoice/aa.xlsx";


        //Prepare UseOffice .Net, loads MS Excel in memory
        int ret = u.InitExcel();

        //Return values:
        //0 - Loading successfully
        //1 - Can't load MS Excel library in memory 

        if (ret == 1)
            return;

        //Converting
        ret = u.ConvertFile(inputFilePath, outputFilePath, SautinSoft.UseOffice.eDirection.XLSX_to_PDF);




        //Release MS Excel from memory
        u.CloseExcel();

        //0 - Converting successfully
        //1 - Can't open input file. Check that you are using full local path to input file, URL and relative path are not supported
        //2 - Can't create output file. Please check that you have permissions to write by this path or probably this path already used by another application
        //3 - Converting failed, please contact with our Support Team
        //4 - MS Office isn't installed. The component requires that any of these versions of MS Office should be installed: 2000, XP, 2003, 2007 or 2010
        if (ret == 0)
        {
            //Show produced file
            System.Diagnostics.Process.Start(outputFilePath);
        }       

В проекте sharepoint я получаю значение 0 в int ret = u.InitExcel(); Но я получаю значение 1 в строке ret = u.ConvertFile(inputFilePath, outputFilePath, SautinSoft.UseOffice.eDirection.XLSX_to_PDF); в проекте sharepoint. Почему это происходит? Есть ли проблема с проектом sharepoint, чтобы они не могли конвертировать xlsx файлы в pdf? Подскажите, пожалуйста, что мне нужно сделать, чтобы конвертировать файлы xlsx в pdf в sharepoint? Можете ли вы предоставить мне какой-либо код или ссылку, по которой я могу конвертировать файлы xlsx в файлы pdf?

1 Ответ

0 голосов
/ 31 января 2012

Обратите внимание, что Microsoft не рекомендует автоматизацию Office в таких случаях:

Microsoft в настоящее время не рекомендует и не поддерживает Автоматизация приложений Microsoft Office от любых без присмотра, неинтерактивное клиентское приложение или компонент (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может работать нестабильно поведение и / или взаимоблокировка при работе Office в этой среде.

Более подробную информацию вы можете проверить в следующей теме: http://support.microsoft.com/kb/257757. Итак, лучше рассмотреть альтернативы.

...