![]() |
![]() |
![]() |
|
1C xls PDF | ☑ | ||
---|---|---|---|---|
0
voka_64
11.01.10
✎
17:29
|
Знаю, что тема не раз обсуждалась. Просто не охото изобретать велосипед
Поделитесь кодом как файл xls перегнать в PDF используя PDFCreator |
|||
1
Попытка1С
11.01.10
✎
17:35
|
А поискать типа в лом?
|
|||
2
voka_64
11.01.10
✎
17:39
|
Я искал и нашел.Говорит, что нет информации для вывода на печать.
|
|||
3
France
11.01.10
✎
17:40
|
1. установить пдф-принтер
2. отравить на печать на пдф принтер. |
|||
4
voka_64
11.01.10
✎
17:40
|
Я понимаю, что запутался с передачей парметра таблицы.
/+Ковалевский В.В.@___WORK___, 2010-01-11 11:56:20 Функция глРежимФайлаОтчета() Перем Режим; Режим = "xls"; // по умолчанию // если установден PDFCreator Попытка WshShell = createObject("wScript.shell"); PDFCreater = WshShell.RegRead("HKCU\"+"Software\PDFCreator\Program\Language"); Если ПустоеЗначение(PDFCreater)=0 Тогда Режим = "pdf"; Возврат Режим; конецесли; исключение конецпопытки; Возврат Режим; КонецФункции // подготовим выходной файл //// Функция глПечатьВоВнешнийФайл(Таб, парИмяФайла="printdoc") Экспорт Перем ВыхФайл,ПутьПТП; РежимФайла = глРежимФайлаОтчета(); // Excel Если РежимФайла = "xls" Тогда ЕмФайл = КаталогВременныхФайлов() + парИмяФайла; Попытка //Таб.Записать(ЕмФайл, "XLS"); ВыхФайл = ЕмФайл+".xls"; Исключение КонецПопытки; // PDFCreator ИначеЕсли РежимФайла = "pdf" Тогда ПутьПТП = КаталогВременныхФайлов(); ИмяФайла_xls = "e:\Bases_2\КонвертацияPDF\Печать____.xls"; ПутьПТП = "e:\Bases_2\КонвертацияPDF\"; //Печать на PDF WshShell = createObject("wScript.shell"); WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Program\AutosaveFilename" ,парИмяФайла); // имя файла WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Program\AutosaveDirectory",ПутьПТП); // путь автосохранеия WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Program\UseAutosave","1"); // автосохранение WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Program\UseAutosaveDirectory","1"); // сохранять в WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Program\AutosaveFormat","0"); // формат - PDF WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Printing\Formats\PDF\Colors\PDFColorsColorModel","2"); // цвет - серый WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Printing\Formats\PDF\Security\PDFUseSecurity","1"); // защита PDF WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Printing\Formats\PDF\Security\PDFDisallowCopy","1"); // защита PDF WshShell.RegWrite ("HKCU\"+"Software\PDFCreator\Printing\Formats\PDF\Security\PDFDisallowModifyContents","1"); // защита PDF ЛогФайл =ПутьПТП+парИмяФайла+".pdf"; ФС.УдалитьФайл(ЛогФайл); //Таб = СоздатьОбъект("Таблица"); Таб.ПараметрыСтраницы(1,,,,,,,,,1,,"PDFCreator"); Таб.Напечатать(0); // печатем // ждем повторов = 0; Неудалось = 0; Пока ФС.СуществуетФайл(ЛогФайл)=0 цикл Для i=1 По 10000 Цикл КонецЦикла; Состояние("подготовка графического файла"); повторов = повторов + 1; Если повторов = 1000 тогда Неудалось = 1; Прервать; КонецЕсли; конеццикла; Если Неудалось = 0 тогда // есть файл ВыхФайл = ЛогФайл; КонецЕсли; КонецЕсли; Возврат ВыхФайл; КонецФункции Процедура Сформировать() ИмяФайла_xls = "e:\Bases_2\КонвертацияPDF\Печать____.xls"; парИмяФайла = ИмяФайла_xls; парИмяФайла = "Печать____.xls"; Таб = СоздатьОбъект("Таблица"); //Таблица.Записать(имя_файла,1); ВыхФайл = глПечатьВоВнешнийФайл(Таб, парИмяФайла); Сообщить("ВыхФайл " + СокрЛП(ВыхФайл)); КонецПроцедуры // Сформировать Но мне то надо файл xls подсунуть как-то |
|||
5
voka_64
11.01.10
✎
17:41
|
Установил.
Файл XLS у меня раньше сформирован просто. |
|||
6
France
11.01.10
✎
17:44
|
открываешь и печатаеш "как на принтер" - т.е, "Печать" - затем выбрать принтер.. и тд и тп)
|
|||
7
voka_64
11.01.10
✎
17:47
|
Надо делать это автоматом.
Потому, что это заявки и них есть штрих код заявки. Open Ofiice не правильно интерпретирует его и код не читается на сканерах. Заявки создаются в 1С формата xls и не которым у которых нет Excel надо отправлять в PDF. И хочется делать это автоматом. |
|||
8
mad hatter
11.01.10
✎
18:56
|
у майкрософта можно скачать бесплатный элсельный вьювер..
эксель будет открываться на просмотр и печататься, как и пдф |
|||
9
mad hatter
11.01.10
✎
18:56
|
элсельный = эксельный
|
|||
10
NikVars
11.01.10
✎
19:09
|
(7) Чего мудришь-то?!
Я делал другим принтером. Рекомендую. Делал так: 1) Установить принтер для выгрузки файлов в формате PDF Сам принтер BullzipPDFPrinter http://www.bullzip.com Принтер использует библиотеку Ghostscript с номером 8.64 или выше, которую можно скачать на том же сайте Ghostscript для BullzipPDFPrinter http://www.bullzip.com/download/gsl/gslite.exe 2) В Пуск-Настройки - Принтеры и факсы появится принтер Bullzip PDF Printer 3) В Пуск-Программы - появится новая папка Bullzip. 4) Входим в Пуск-Программы-Bullzip-PDF Printer-Настройки. Выбираем вкладки Общие-Имя файла, где указываем строку: C:\BestPapka\<docname>.pdf Имя файла должно содержать путь-папку для выгрузки документов в формате PDF и маску <docname>.pdf которая говорит о том, что имя будет автоматически генерироваться. Выбираем вкладки Безопасность-Пароль владельца (нужен для защиты от изменения документа) 5) В обработке по формированию PDF документов должно быть указано с каким именем и на какой принтер отправлять документ ИмяФайла = Лев(Формат(пДок.ДатаДок, "ДГГГГММДД"), 6)+ "_Akt_"+Строка(пФайл); пТаб.ПараметрыСтраницы(1,,,,5,10,10,0,5,,1,"Bullzip PDF Printer"); пТаб.Показать(ИмяФайла); пТаб.Напечатать(0); Хоть по одному, хоть в цикле рубай пункт 5. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |