Конвертирование XLS в PDF

24.09.08

Разработка - Универсальные функции

Как сохранить свою печатную форму в PDF? Ответ здесь! ;)
Что необходимо:
1. Microsoft Office 2007
2. Надстройка 2007 Microsoft Office: сохранение в формате PDF или XPS (Майкрософт) (скачиваем http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041 )

Для начала сохраняем печатную форму в xls файл.
И далее:
Процедура Сконвертировать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;
КонецПроцедуры 

См. также

Вставляем картинку из буфера обмена (платформа 1С 8.3.24)

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    2664    0    John_d    8    

53

GUID в 1С 8.3 - как с ними быть

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    4595    atdonya    22    

45

Переоткрытие внешних обработок

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    3956    ke.92@mail.ru    16    

61

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    8802    YA_418728146    6    

141

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    16140    133    sapervodichka    112    

129

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7242    quazare    8    

109
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. megatrend 128 06.10.09 11:00 Сейчас в теме
А через COM-объект бесплатной программы PDFCreator нельзя в файл напечатать? ;)
2. Трактор 1246 06.10.09 11:08 Сейчас в теме
(1) PDFCreator не всегда верно сохраняет. У меня не получилось уместить счёт на одну страницу. Бесплатное решение с помощью опена офиса описано тут http://infostart.ru/public/20710/ Работает лучше PDFCreator'а.
5. Душелов 4013 24.09.08 22:05 Сейчас в теме
(2) то, что я дал- самый простой способ, т.к. офис обычно есть у многих... Без всего этого - только внешняя компонента, которая все это будет делать ;) Написать могу, а есть ли смысл?
(3) почитай ветку из 1 коммента ;)
(4) Ломать - плохо! Я уважаю труд других программистов :)
6. CheBurator 3119 25.09.08 00:22 Сейчас в теме
(5) > Написать могу, а есть ли смысл?
есть...
39. sp18s 10.10.19 16:12 Сейчас в теме
(5) только этот код не работает на Office 2003. Ошибка!
ExportAsFixedFormat добавили в 2010.
1. Душелов 4013 24.09.08 15:51 Сейчас в теме
2. CheBurator 3119 24.09.08 20:34 Сейчас в теме
бяка! ;-)
- нужен офис... а если его у мну нет...?
- подойдет 2007, а если 2003? или не дай бог 2000? - где проверка на версию/возможность?
- и это похоже на гланды через ЗПС ;-)
- а где вариант для Оо...? в котором есть родное ПДФ...
3. ineoosaki 24.09.08 21:30 Сейчас в теме
А что мешает печатать бесплатным пдф-принтером?
4. ineoosaki 24.09.08 21:41 Сейчас в теме
немного не по теме, но всеже про пдф.
наткнулся я как-то у себя в архиве на Новейший отчет за 2005год. Решил пдф-хелп почитать. Смотрю, а он (хелп) триальной прогой сконвертирован, и на каждой странице об этом жирным текстом сказано. ИМХО, как-то несолидно к платной проге такой хелп прикладывать.
Ломанули бы прогу, и не писал бы я об этом здесь. :)
7. CheBurator 3119 25.09.08 16:09 Сейчас в теме
По ссылке http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041)
- запрашиваемая страница не найдена.. так и хочется -1 влепить... а еще спрашиваешь нужна ВК или нет....
8. Душелов 4013 25.09.08 16:36 Сейчас в теме
(7) Пинай админов инфостарта, что так коряво отображают ссылки - удали скобку в конце.
10. Abadonna 3958 25.09.08 16:47 Сейчас в теме
(7)Чебуратор, ти мене убив
9. JohnyDeath 301 25.09.08 16:36 Сейчас в теме
скобку последнию убери!
млин, прям как маленький...
11. JohnyDeath 301 25.09.08 16:55 Сейчас в теме
иногда, конечно, хорошо, что Чебур докапывается до мелочей, но это ИМХО уже перебор! Весь свой статус так растеряет ;)
12. CheBurator 3119 26.09.08 13:57 Сейчас в теме
Чебуру не влом растерять весь свой статус... я от эникейщика ухожу все дальше и дальше... матом в адрес админов инфостарта - ну вы поняли.. если там сидят эникейщики, которые толком не могут сделать - это не в моей власти... ;-)
13. CheBurator 3119 26.09.08 13:58 Сейчас в теме
так самое интересное что эту приблуду фиг скачаешь, если у тебя на компе офис не стоит... тоже мне, блин, автоматизаторы... (это я автору сабжа... ;-))
14. Душелов 4013 26.09.08 14:11 Сейчас в теме
(13) так и написано, что для этого требуется ;) 1 пункт! :)
15. Abadonna 3958 26.09.08 14:13 Сейчас в теме
(12-14) Как-то гаишник меня останавливает:
- почему скорость превышаешь?
- дык у тебя ж радара нет
- как будто я до чего-нибудь еще не докопаюсь ;)
16. ineoosaki 26.09.08 18:22 Сейчас в теме
А вот как в дежавю конвертнуть, не подскажете?
17. Душелов 4013 26.09.08 21:09 Сейчас в теме
(16) а для каких целей? мало информации по этому формату
18. ineoosaki 26.09.08 21:29 Сейчас в теме
(17)
Мне дежавю больше чем пдф нравиться.
Хорошая компресия картинок (1мб ч/б картинка бмп уменьшается до 20кб), в просмотрщиках файл быстрее открывается, чем н-р пдф в акробате.
19. JohnyDeath 301 27.09.08 10:01 Сейчас в теме
(18) pdf, ИМХО, лучше всего открывать FoxIt Reader-ом (бесплатный) https://www.foxitsoftware.com/pdf/reader_2/down_reader.htm
ineoosaki; Душелов; +2 Ответить
20. moonlight81 01.10.08 09:33 Сейчас в теме
Для таких целей я обычно ставлю бесплатный принтер PDFCreator и на него посылаю печать....вот и получается файлик pdf, а тут промежуточная фаза в виде XLS
21. Душелов 4013 01.10.08 09:36 Сейчас в теме
22. gull71 01.10.08 10:56 Сейчас в теме
А можно узнать какой смысл конвертить *.xls в *.pdf, если при сохранении в *.xls теряется форматирование?Не проще напечатать на *.pdf-принтер сразу?Ну если не pdf, то Skitex можно поставить:-)И в дальнейшем отконвертить AcrobatDistiller-ом в pdf?
23. Душелов 4013 01.10.08 10:58 Сейчас в теме
(22) 1. Смотря в формате какого офиса сохранять в xls.
2. Как я понял, все должно делаться программно.
24. sea-man 01.10.08 19:33 Сейчас в теме
Василь, респект и уважуха!
Лавр.
25. Душелов 4013 01.10.08 19:38 Сейчас в теме
26. dance000 03.10.08 09:41 Сейчас в теме
Поддержу по поводу ненужности формата xls, т.к. у себя сделал что печатается прямо на принтер Adobe Distiller и полученный файлик забираю и складываю куда мне нужно.
29. barsuk 24.01.10 15:42 Сейчас в теме
Выдает ошибку - Ошибка при вызове метода контекста (ExportAsFixedFormat): Произошла исключительная ситуация (0x800a03ec)
ExcelWorkBook.ExportAsFixedFormat(0, ФайлВФорматеXLS , 0);
по причине:
Произошла исключительная ситуация (0x800a03ec)
Не работает. Офис 2007.
30. Душелов 4013 24.01.10 15:56 Сейчас в теме
(29) Да, описание ошибки многозначащая... :)
А просто так, из офиса из меню сохраняет?
31. barsuk 24.01.10 16:14 Сейчас в теме
(30) принтера не стояло - из-за этого:) но при попытки открытия пдф файла сохраненног выдает -файл не пдф или поврежден
32. Душелов 4013 24.01.10 16:22 Сейчас в теме
(31) Ну тут уже вопрос к микрософту :)
33. barsuk 24.01.10 16:27 Сейчас в теме
Стоит Foxit Reader - он не открывает его. В чем проблема? Файл пересораненный таким образом будет открываться только акробатом? Или им тоже не будет?:)
34. barsuk 24.01.10 16:29 Сейчас в теме
Но если попробовать открыть этот фал экселем - то все нормально:)
35. Душелов 4013 24.01.10 16:30 Сейчас в теме
(34) Я не знаю, как сохраняет офис. Я не разработчик этой надстройки.
У меня - все открывается. Всеми ридерами. Офис 2007 - лицензия со всеми обновлениями.
36. barsuk 24.01.10 16:34 Сейчас в теме
(35) :) а нет идей почему такое может происходить? Такое ощущение что расширение поменял но в формат пдф не перевел:(
37. cool.vlad4 2 25.07.11 12:08 Сейчас в теме
Пишу только из удивления и возможно, для тех кому надо сохранять mxl в pdf, используя описанный в статье способ(если excel стоит на сервере, то наверное можно сохранять и в контексте сервера). Вся проблема заключается в том, что при сохранении в xls, картинки теряют прозрачность. Если выставлять размер картинки - растянуть, затем делать фон либо прозрачным, либо rgb(255,255,255,0) , то сохраняется в excel(и кстати в open office тоже) с прозрачностью. Остается проблема размещения в одну страницу, которая легко решается либо макросом, либо лучше через com, например
xlPaperA4 = 9;
xlPrintNoComments = -4142;
xlAutomatic = -4105;
xlPortrait = 1;
xlDownThenOver = 1;
xlPrintErrorsDisplayed = 0;
ExcelЛист.PageSetup.LeftMargin = Excel.InchesToPoints(0);
ExcelЛист.PageSetup.RightMargin = Excel.InchesToPoints(0);
ExcelЛист.PageSetup.TopMargin = Excel.InchesToPoints(0);
ExcelЛист.PageSetup.BottomMargin = Excel.InchesToPoints(0);
ExcelЛист.PageSetup.HeaderMargin = Excel.InchesToPoints(0);
ExcelЛист.PageSetup.FooterMargin = Excel.InchesToPoints(0);
ExcelЛист.PageSetup.PrintHeadings = False;
ExcelЛист.PageSetup.PrintGridlines = False;
ExcelЛист.PageSetup.CenterHorizontally = False;
ExcelЛист.PageSetup.CenterVertically = False;
ExcelЛист.PageSetup.Orientation = xlPortrait;
ExcelЛист.PageSetup.PrintComments = xlPrintNoComments;
ExcelЛист.PageSetup.Draft = False;
ExcelЛист.PageSetup.PaperSize = xlPaperA4;
ExcelЛист.PageSetup.FirstPageNumber = xlAutomatic;
ExcelЛист.PageSetup.Order = xlDownThenOver;
ExcelЛист.PageSetup.BlackAndWhite = False;
ExcelЛист.PageSetup.Zoom = 100;
ExcelЛист.PageSetup.PrintErrors = xlPrintErrorsDisplayed;
ExcelЛист.PageSetup.OddAndEvenPagesHeaderFooter = False;
ExcelЛист.PageSetup.DifferentFirstPageHeaderFooter = False;
ExcelЛист.PageSetup.ScaleWithDocHeaderFooter = True;
ExcelЛист.PageSetup.AlignMarginsHeaderFooter = True;
atdonya; NewLifeMan; kanimot; +3 Ответить
38. Shmell 533 20.12.11 08:04 Сейчас в теме
Перенос по строкам в многострочном поле не корректно отображается. Само сохранение в xls уже делает все без переноса и соответственно в pdf все не очень красиво переносится
Оставьте свое сообщение