![]() |
![]() |
|
изменения текста pdf опен офис. | ☑ | ||
---|---|---|---|---|
0
zladenuw
19.12.12
✎
16:29
|
Меняю.
ТекущийЛист = Файл.DrawPages.getByIndex(0); ReplaceDescriptor = ТекущийЛист.createReplaceDescriptor(); ReplaceDescriptor.SearchString = "date"; ReplaceDescriptor.ReplaceString = СокрЛП("тест"); ТекущийЛист.replaceAll(ReplaceDescriptor); Жаль что только опеном потом можно его открыть. но заменить текст дает. :) |
|||
1
Fragster
гуру
19.12.12
✎
16:30
|
хвастаешься?
|
|||
2
zladenuw
19.12.12
✎
16:32
|
(1) да не. фигня в том. что нельзя обычным пдф открыть. ошибку пишет.
|
|||
3
zladenuw
19.12.12
✎
16:33
|
(1) может кто то делал.или знает как лечить
|
|||
4
Fragster
гуру
19.12.12
✎
17:12
|
(2) так пии, как сохраняешь. ибо если просто руками открыть - заменить - сохранить пдф - то все работает
|
|||
5
Fragster
гуру
19.12.12
✎
17:13
|
наверное ты его как одт сохраняешь, только с расширением пды
|
|||
6
Fragster
гуру
19.12.12
✎
17:13
|
пдф
|
|||
7
zladenuw
19.12.12
✎
17:34
|
нет.
Читаю пдф и его же сохраняю. sUrl = URLИзИмениФайла(мВыбФайл); Попытка Файл.storeAsURL(sUrl, MassivParametrovSave); Файл.Close(true); ЗапуститьПриложение(мВыбФайл); Исключение Сообщить("Такой файл уже открыт. закройте его!"); КонецПопытки; |
|||
8
zladenuw
19.12.12
✎
17:37
|
вот нашел.
Sub DoExport ' now export it oExpOptions = Array(_ MkPropVal( "FilterName", "calc_pdf_Export" ),_ MkPropVal( "FilterData", oExpFilterOptions )_ ) oDoc = ThisComponent aURL = oDoc.getLocation() aURL = aURL + "-macro.pdf" ' add a pdf file type ' Save the document in the new destination format. oDoc.storeToURL( aURL, oExpOptions ) end sub |
|||
9
zladenuw
19.12.12
✎
17:45
|
только вот что от не догоню. как передать эти параметры
Function MkPropVal( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue Dim oPropertyValue As New com.sun.star.beans.PropertyValue If Not IsMissing( cName ) Then oPropertyValue.Name = cName EndIf If Not IsMissing( uValue ) Then oPropertyValue.Value = uValue EndIf MkPropVal() = oPropertyValue End Function Sub DoExport ' now export it oExpOptions = Array(_ MkPropVal( "FilterName", "calc_pdf_Export" ),_ MkPropVal( "FilterData", oExpFilterOptions )_ ) oDoc = ThisComponent aURL = oDoc.getLocation() aURL = aURL + "-macro.pdf" ' add a pdf file type ' Save the document in the new destination format. oDoc.storeToURL( aURL, oExpOptions ) end sub |
|||
10
zladenuw
19.12.12
✎
17:46
|
именно что сюда нужно MkPropVal( "FilterData", oExpFilterOptions )
|
|||
11
zladenuw
20.12.12
✎
12:08
|
Делаю вот так. но получаю ошибку.
Файл.storeAsURL(sUrl, MassivParametrovPDF); ункция ДобавитьСвойство(ServManag,пИмя,пЗначение) Свойства = ServManag.Bridge_GetStruct("com.sun.star.beans.PropertyValue"); Свойства.Name = пИмя; Свойства.Value = пЗначение; Возврат Свойства; КонецФункции // () //Подключение к серверу автоматизации OpenOffice Попытка ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); //MassivParametrov открытие MassivParametrov = Новый COMSafeArray("VT_VARIANT", 2); MassivParametrov.SetValue(0, ДобавитьСвойство(ServiceManager,"AsTemplate",Истина)); MassivParametrov.SetValue(1, ДобавитьСвойство(ServiceManager,"Hidden",Истина)); //MassivParametrovSave сохранения MassivParametrovSave = Новый COMSafeArray("VT_VARIANT", 1); MassivParametrovSave.SetValue(0, ДобавитьСвойство(ServiceManager,"Overwrite",Истина)); //MassivParametrovSave PDF MassivParametrovPDF = Новый COMSafeArray("VT_VARIANT", 2); MassivParametrovPDF.SetValue(0, ДобавитьСвойство(ServiceManager,"FilterName","calc_pdf_Export")); ПодМассивПараметровПДФ = Новый COMSafeArray("VT_VARIANT", 4); ПодМассивПараметровПДФ.SetValue(0, ДобавитьСвойство(ServiceManager,"InitialView",0)); ПодМассивПараметровПДФ.SetValue(1, ДобавитьСвойство(ServiceManager,"PageLayout",0)); ПодМассивПараметровПДФ.SetValue(2, ДобавитьСвойство(ServiceManager,"UseTaggedPDF",False)); ПодМассивПараметровПДФ.SetValue(3, ДобавитьСвойство(ServiceManager,"EncryptFile",True)); //ПодМассивПараметровПДФ.SetValue(4, ДобавитьСвойство(ServiceManager,"DocumentOpenPassword","open")); //ПодМассивПараметровПДФ.SetValue(5, ДобавитьСвойство(ServiceManager,"RestrictPermissions", True )); //ПодМассивПараметровПДФ.SetValue(6, ДобавитьСвойство(ServiceManager,"PermissionPassword", "permission")); //ПодМассивПараметровПДФ.SetValue(7, ДобавитьСвойство(ServiceManager,"Printing",24)); //ПодМассивПараметровПДФ.SetValue(8, ДобавитьСвойство(ServiceManager,"Changes",4)); //ПодМассивПараметровПДФ.SetValue(9, ДобавитьСвойство(ServiceManager,"EnableCopyingOfContent",True)); //ПодМассивПараметровПДФ.SetValue(10, ДобавитьСвойство(ServiceManager,"EnableTextAccessForAccessibilityTools",True)); MassivParametrovPDF.SetValue(1,ДобавитьСвойство(ServiceManager,"FilterData",ПодМассивПараметровПДФ)); //MassivParametrovPrint Print MassivParametrovPrint = Новый COMSafeArray("VT_VARIANT", 1); MassivParametrovPrint.SetValue(0, ДобавитьСвойство(ServiceManager,"copycount",1)); Соединение = ServiceManager.createInstance("com.sun.star.frame.Desktop"); Исключение Сообщить(ОписаниеОшибки() + Символы.ПС + "программа OpenOffice не установлена на данном компьютере!"); КонецПопытки; {Обработка.МодульOpenOffice.МодульОбъекта(246)}: Ошибка при вызове метода контекста (storeAsURL): Произошла исключительная ситуация ([automation bridge] ): com.sun.star.task.ErrorCodeIOException: |
|||
12
zladenuw
20.12.12
✎
12:26
|
путь для сохранения такой
file://localhost///1CSQL2/storage/1С/Total/Печать/SUZUKI_ПРЕДПРОДАЖКА.Pdf. Если же просто сохраняют. то не могу открыть обычным пдф. кто то знает как разрешить проблему ? |
|||
13
zladenuw
20.12.12
✎
12:38
|
все банально просто
Файл.storeToURL(sUrl, MassivParametrovPDF); |
|||
14
cw014
20.12.12
✎
13:00
|
Забавно человек сам с собой пообщался
|
|||
15
zladenuw
20.12.12
✎
13:09
|
(14) так это мой личный блог :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |