Имя: Пароль:
1C
1С v8
текст на pdf
0 Lensky
 
23.10.12
14:35
Конфигураци документооборот, при регистрирации входящих писем прикрепляют вложения pdf. Как при печати этих вложений накладывать на них регистрационный номер и дату.
1 zladenuw
 
23.10.12
14:38
опен офис. дает открыть пдф на редактирование
2 zladenuw
 
23.10.12
14:39
3 zladenuw
 
23.10.12
14:43
если вообще в помощь. то я вот читаю
http://admin-smolensk.ru/~websprav/freesoft/freesoft/OpenOffice.org.BASIC%20Guide.pdf
4 Lensky
 
23.10.12
14:48
а попроще)?
пример есть какойнть? въезжать времени мало.
5 zladenuw
 
23.10.12
15:20
делаю вот так.
sUrl = URLИзИмениФайла(ИмяФайла);
   Файл = Соединение.LoadComponentFromURL(sUrl, "_blank", 0, MassivParametrov);
   
   Page = Файл.drawPages(0);
   Point.x = 1000;
   Point.y = 1000;
   Size.Width = 10000;
   Size.Height = 10000;
   rc = Файл.createInstance("com.sun.star.drawing.RectangleShape");
   rc.size = size;
   rc.position = Point;
   rc.string = "test";
   
   Page.add(rc);

{ВнешняяОбработка.МодульOpenOffice.МодульОбъекта(240)}: Метод объекта не обнаружен (add)
   Page.add(rc);
6 zladenuw
 
23.10.12
15:27
смотрю по книге.
Работающий макрос

Код:
Sub Main
 Dim Doc As Object
 Dim Page As Object
 Dim RectangleShape As Object
 Dim Point As New com.sun.star.awt.Point
 Dim Size As New com.sun.star.awt.Size
 Point.x = 1000
 Point.y = 1000
 Size.Width = 10000
 Size.Height = 10000

 Doc = ThisComponent
 Sheet = Doc.Sheets.getByName("Лист1")
 Page = Sheet.DrawPage
 RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape")
 RectangleShape.Size = Size
 RectangleShape.Position = Point
 RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.SOLID
 RectangleShape.FillColor = RGB(255, 0, 0)
 Page.add(RectangleShape)
End Sub

Результат его работы на рисунке...
Чего не хочет в 1с то
7 zladenuw
 
23.10.12
15:45
(0) с тебя пляшка
Процедура ПечатьОпенПДФ(ИмяФайла) Экспорт
 
   sUrl = URLИзИмениФайла(ИмяФайла);
   Файл = Соединение.LoadComponentFromURL(sUrl, "_blank", 0, MassivParametrov);
   
   Pages = Файл.DrawPages;
   Page = Pages.getByIndex(0);
   //Page = Page(0);
   //Sheet = Файл.GetSheets();
   //Page = Sheet.getByName("Лист1");
     //Page = Sheet.DrawPage;
   Point.x = 1000;
   Point.y = 1000;
   Size.Width = 10000;
   Size.Height = 1000;
   rc = Файл.createInstance("com.sun.star.drawing.RectangleShape");
   rc.size = size;
   rc.position = Point;    
   Page.add(rc);
   rc.string = "test";
   rc.chartFontName = "Arial";
КонецПроцедуры


//Подключение к серверу автоматизации OpenOffice
Попытка
   OpenOffice = Новый COMОбъект("com.sun.star.ServiceManager");
   
   scr = Новый COMОбъект("MSScriptControl.ScriptControl");
   scr.language = "javascript";
   
   scr.eval("MassivParametrov = new Array()");
   MassivParametrov = scr.eval("MassivParametrov");
   
   scr.AddObject("OpenOffice", OpenOffice);
   
   scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
   scr.eval("MassivParametrov[0].Name='Hidden'");
   scr.eval("MassivParametrov[0].Value=false");
   
   scr.eval("MassivParametrovSave = new Array()");
   
   MassivParametrovSave = scr.eval("MassivParametrovSave");
   scr.eval("MassivParametrovSave[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
   scr.eval("MassivParametrovSave[0].Name='Overwrite'");
   scr.eval("MassivParametrovSave[0].Value=true");
   
    scr.eval("MassivParametrovPrint = new Array()");
   MassivParametrovPrint = scr.eval("MassivParametrovPrint");
   scr.eval("MassivParametrovSave[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
   scr.eval("MassivParametrovSave[0].Name='copycount'");
   scr.eval("MassivParametrovSave[0].Value=1");
   
   Соединение = OpenOffice.createInstance("com.sun.star.frame.Desktop");
   Point = OpenOffice.Bridge_GetStruct("com.sun.star.awt.Point");
   Size =   OpenOffice.Bridge_GetStruct("com.sun.star.awt.Size");
   
Исключение
   Сообщить(ОписаниеОшибки() + Символы.ПС + "программа OpenOffice не установлена на данном компьютере!");        
КонецПопытки;
8 Lensky
 
24.10.12
10:16
(7) спасибо за информативность, попробую чтонть сделать.