8.х Конвертирование XLS в PDF

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем barsuchechechek, 28 янв 2010.

  1. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Необходимо печатную форму отправлять по почте в формате PDF. Нашел пример в инете:

    Код:
    Процедура СконвертироватьXLSвPDF(ФайлВходящий) 
    
    
    Попытка 
    
    
    Excel = Новый COMОбъект("Excel.Application");
    ExcelWorkBook = Excel.WorkBooks.Open(ФайлВходящий,,1); // открытие в режиме ReadOnly 
    
    
    Excel.DisplayAlerts = 0; 
    ExcelЛист = Excel.ActiveSheet;
    Исключение 
    
    
    Сообщить("Ошибка открытия файла: " + ФайлВходящий);
    Возврат;
    КонецПопытки;
    
    Если ExcelWorkBook <> Null Тогда 
    
    
    ФайлИсходящий = СтрЗаменить(ФайлВходящий, ".xls", ".pdf");
    ExcelWorkBook.ExportAsFixedFormat(0, ФайлИсходящий , 0);
    КонецЕсли;
    
    Excel.ActiveWorkbook.Close(0); // без записи изменений 
    
    
    Excel.Quit();
    Excel = 0;
    КонецПроцедуры 
    
    Сохраняет форму в нужном формате, но открыть файл не дает -пишит неверный формат. Что не так делаю?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Мдя.....Вашей ошибки нет. Код верен, но лично я тому, кто придумал сие, "уши-то пооткрутил бы...." (с) почтальон Печкин из Простоквашино.

    ФайлИсходящий = СтрЗаменить(ФайлВходящий, ".xls", ".pdf");

    Здесь просто меняется расширение файла формата XLS на PDF, но внутри как был XLS, так и остается. Естественно, при попытке машины прочитать такой файл как PDF будет выскакивать ошибка формата файла.

    Возможно, Вам поможет что-нить из этого списка:

    http://yandex.ru/yandsearch?text=xls+to+pd...2Fnc1&lr=63

    , но 1С тут бессильна.
  3. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Бу га га! Вот это зачетный способ конвертировать документы! А главное - абсолютная универсальность. Т.е. конвертировать можно все, что угодно во все, что нужно! Жаль только открываться не будет - но это явно недоработка авторов программ которыми открывают файлы! :-D

    У Melanto были наработки в этой области: http://www.1c-pro.ru/index.php?showtopic=13440
  4. GreenFox
    Offline

    GreenFox

    Регистрация:
    19 фев 2009
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1

    Да, вот что интересно Высокоуважаемые вышеуказанные товарищи не разобравшись ни в коде ни в теме сочли нужным насмехаться над человеком.

    Человек все делает правильно. Но этот код подойдет если на сервере установлен офис 2007 или старше. Меньшие версии не поддерживают экспорт в пдф.

    Основное действие выполняется строчкой
    Код:
    ExcelWorkBook.ExportAsFixedFormat(0, ФайлИсходящий , 0);
    
    The ExportAsFixedFormat method is used to publish a workbook to either the PDF or XPS format.

    Скорей всего Вы не разобрались с типом в который нужно экспортировать
    почитать можно Здесь.

    http://msdn.microsoft.com/en-us/library/bb238907.aspx
  5. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Не смотрел прошлые ссылки в этой теме...
    У меня отлично PdfCreator работает, и не нужно заморачиваться с 1С.
  6. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Над человеком никто не насмехается. Вначале я вообще подумал, что это чей то веселый розыгрыш. А насчет ExportAsFixedFormat - да действительно не глянул на эту функцию...

    Спасибо за информацию.
  7. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    А выглядело реально как надсмешка.

    Офис стоит 2007. А что можно напутать с типами? Вообще не понимаю этого.
  8. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Заметил под отладчиком такую ситуацию. Создается файл пдф - нормальный. Но не сохраняется. Как сохранить из под экселя мой файл пдф?
  9. GreenFox
    Offline

    GreenFox

    Регистрация:
    19 фев 2009
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Как вариант попробуй открывать не только для чтения но и для записи
  10. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Разобрался уже:)

Поделиться этой страницей