Имя: Пароль:
1C
 
Печать в файл
0 BoCh
 
11.08.10
10:51
Что нужно дописать в этот код, чтобы печать была в файл?
   Попытка        
       Таб.Автомасштаб=Истина;
       Таб.Имяпринтера="ИмяПринтера";
       Таб.Напечатать(Истина);
       PDFФайл = Новый Файл(ИмяФайла);
       
       Пока  НЕ PDFФайл.Существует() Цикл
           ОбработкаПрерыванияПользователя();
       КонецЦикла;            
               
   Исключение
       Сообщить(ОписаниеОшибки());
       Сообщить("Не установлен виртуальный принтер!");
   КонецПопытки;
1 borozavr
 
11.08.10
11:04
Поставь DoPdf и печатай на него: Таб.Имяпринтера="DoPdf v7"
2 BoCh
 
11.08.10
11:06
Не нашел DoPDF для линукса
3 borozavr
 
11.08.10
11:15
CUPS-PDF ?
4 BoCh
 
11.08.10
11:27
да, установил, делаю так, уходит на печать, но файл не создается, через comobject как под windows не работает
Попытка
Таб.Автомасштаб=Истина;
       Таб.Имяпринтера="Generic-CUPS-PDF-Printer";
       Таб.Напечатать(Истина);
       PDFФайл = Новый Файл(ИмяФайла);
       
       Пока  НЕ PDFФайл.Существует() Цикл
           ОбработкаПрерыванияПользователя();
       КонецЦикла;            
               
   Исключение
       Сообщить(ОписаниеОшибки());
       Сообщить("Не установлен виртуальный принтер!");
   КонецПопытки;
5 BoCh
 
11.08.10
11:29
под виндой вот это работает
Попытка
       Принтер=Новый ComObject("Bullzip.PDFPrinterSettings");
       принтер.SetValue("output", ИмяФайла);
       принтер.SetValue("ShowSaveAS", "never");
       принтер.SetValue("ShowProgress", "no");
       принтер.SetValue("ShowProgressFinished", "no");
       принтер.SetValue("ShowSettings", "never");
       принтер.SetValue("ShowPDF", "no");
       принтер.SetValue("ConfirmOverwrite","no");
       принтер.SetValue("OwnerPassword","");
       принтер.SetValue("Permissions",61636);
       принтер.WriteSettings();
       Таб.Автомасштаб=Истина;
       Таб.Имяпринтера="Bullzip PDF Printer";
       
       Таб.Напечатать(Истина);
       PDFФайл = Новый Файл(ИмяФайла);
       
       Пока  НЕ PDFФайл.Существует() Цикл
           ОбработкаПрерыванияПользователя();
       КонецЦикла;            
               
   Исключение
       Сообщить(ОписаниеОшибки());
       Сообщить("Не установлен виртуальный принтер!");
   КонецПопытки;    
подскажите пожалуйста, что переписать, чтобы работало под Linux =) есть ли какой-то еще вариант чтобы заменить эту запись?
Принтер=Новый ComObject("Bullzip.PDFPrinterSettings");
       принтер.SetValue("output", ИмяФайла);
       принтер.SetValue("ShowSaveAS", "never");
       принтер.SetValue("ShowProgress", "no");
       принтер.SetValue("ShowProgressFinished", "no");
       принтер.SetValue("ShowSettings", "never");
       принтер.SetValue("ShowPDF", "no");
       принтер.SetValue("ConfirmOverwrite","no");
       принтер.SetValue("OwnerPassword","");
       принтер.SetValue("Permissions",61636);
       принтер.WriteSettings();
6 borozavr
 
11.08.10
11:31
Я не спец в Линуксе, подозреваю что через Com будет работать только под виндой. Если идет отправка на печать но файла не образуется надо проверить права http://www.cups-pdf.de/documentation.shtml
7 borozavr
 
11.08.10
11:35
(5) Introduction

The Bullzip PDF Printer works as a Microsoft Windows printer and allows you to write PDF documents from virtually any Microsoft Windows application. Он только под виндовс. под линукс версии нет.
8 BoCh
 
11.08.10
11:36
Спасибо, посмотрю по правам.
9 BoCh
 
11.08.10
11:38
Да, BullZip только под виндой=) Проблема в том, как сказать принтеру, что печатать надо в файл=)
10 borozavr
 
11.08.10
11:42
(9) так где печатать то в Лине или Винде?
11 BoCh
 
11.08.10
11:43
в Линуксе.
12 borozavr
 
11.08.10
11:54
тогда кроме CUPS-PDF альтернативы нет,а печатает он всегда в файл. Цитата из дока:
Once you print to the new device the output directory selected in
  cups-pdf.conf (defaults to /var/spool/cups-pdf) will be created and all
  converted PDF files will be placed in subdirectories named after the owner
  of the print job. In case the owner cannot be identified (i.e. does not
  exist on the server) the output is placed in the directory for anonymous
  operation (if not disabled in cups-pdf.conf - defaults to
  /var/spool/cups-pdf/ANONYMOUS/).
  Furthermore if logging is enabled the logfile will be placed by default in
  /var/log/cups.
Правишь cups-pdf.conf при необходимости, назначаешь права (6), и все должно работать
13 BoCh
 
11.08.10
13:21
Спасибо, разобрался=) оказалось все гораздо проще =))) необходимо было создать каталог "PDF" в домашней папке пользователя и 2 строки кода=)
   Таб.ИмяПринтера = "Generic-CUPS-PDF-Printer";
   Таб.Напечатать(Истина);
Только как ему теперь передать имя файла, в который сохранять=) буду думать.