Exportar a PDF en lotus Notes no aplica filtros
-
- Mensajes: 4
- Registrado: Jue Ene 19, 2017 11:38 am
Exportar a PDF en lotus Notes no aplica filtros
Hemos creado un código para exportar a PDF diferentes documentos. La exportación la realiza correctamente pero los filtros no los aplica.
Encontré lo siguiente: https://bz.apache.org/ooo/show_bug.cgi?id=119417
donde explican que FilterData precisa que se le indique el tipo de datos que es, por lo que se tiene que modificar el código para que el array que se pasa lo indique.
El código ya modificado es el siguiente:
Dim paso()
Set paso = SM.Bridge_GetValueObject()
Call paso.Set("[]com.sun.star.beans.PropertyValue",filterdata)
Set oPropertyValue = SM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = "FilterData"
oPropertyValue.Value = paso <--- aquí antes se le pasaba filterdata
donde filterdata es el array con los valores de filtro. Ahora me da un TypeMismatch cuando asigno paso a oPropertyValue.Value
Lo único que veo es que el set no convierte paso a array (que igual no lo tiene que hacer ...), y value parece que si que espera un array
Puede alguien indicarme como aplicar los filtros en la exportación?
Encontré lo siguiente: https://bz.apache.org/ooo/show_bug.cgi?id=119417
donde explican que FilterData precisa que se le indique el tipo de datos que es, por lo que se tiene que modificar el código para que el array que se pasa lo indique.
El código ya modificado es el siguiente:
Dim paso()
Set paso = SM.Bridge_GetValueObject()
Call paso.Set("[]com.sun.star.beans.PropertyValue",filterdata)
Set oPropertyValue = SM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = "FilterData"
oPropertyValue.Value = paso <--- aquí antes se le pasaba filterdata
donde filterdata es el array con los valores de filtro. Ahora me da un TypeMismatch cuando asigno paso a oPropertyValue.Value
Lo único que veo es que el set no convierte paso a array (que igual no lo tiene que hacer ...), y value parece que si que espera un array
Puede alguien indicarme como aplicar los filtros en la exportación?
OpenOffice 4.1.2 en W7
Re: Exportar a PDF en lotus Notes no aplica filtros
Creo recordar, que FilterData también es una matriz de PropertyValue, ¿así se la estas pasando?.. ¿puedes mostrar el código completo que usas?
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 4
- Registrado: Jue Ene 19, 2017 11:38 am
Re: Exportar a PDF en lotus Notes no aplica filtros
El código con el que estoy probando es el siguiente:
Tal como está me genera el pdf pero no aplica los filtros, si aplico lo que comentan para el FilterData recoja el tipo
cambio la línea --> Set SaveParam(1) = MakePropertyValue("FilterData", filterdata)
por --> Set SaveParam(1) = MakePropertyValue2("FilterData", filterdata)
da el error al asignar paso a oPropertyValue.Value (error type mismatch)
En lotusscript no conozco manera de decirle al array que sea de un tipo que no está definido. He tratado de crear yo un type con la misma estructura y asignárselo al arrary filterdata, pero al asignarlo tb me da error.
Código: Seleccionar todo
Dim Desktop As variant
Dim Doc As variant
Dim Url As String
Dim Dummy() 'An (empty) array of PropertyValues
Dim PrinterProperties(1) As Variant
Dim docproperties(0) As Variant
Dim SaveParam(1) As Variant
Dim SM As Variant
Dim filterdata(5)
Url = "file:///C:/temp/prueba.odt"
Set SM=CreateObject("com.sun.star.ServiceManager")
Set Desktop=SM.createInstance("com.sun.star.frame.Desktop")
Set docProperties(0) = MakePropertyValue("Hidden", False)
Set Doc = Desktop.loadComponentFromURL(Url, "_blank", 0, docProperties)
Set filterdata(0) = MakePropertyValue("OpenInFullScreenMode",True)
Set filterdata(1) = MakePropertyValue("HideViewerMenubar",True)
Set filterdata(2) = MakePropertyValue("HideViewerToolbar",True)
Set filterdata(3) = MakePropertyValue("HideViewerWindowControls",True)
Set filterdata(4) = MakePropertyValue("ExportBookmarks",True)
Set filterdata(5) = MakePropertyValue("UseTaggedPDF",True)
Set SaveParam(0) = MakePropertyValue("FilterName", "writer_pdf_Export")
Set SaveParam(1) = MakePropertyValue("FilterData", filterdata)
destino = "file:///c:/temp/resultado.pdf·
Call doc.storeToURL(destino, SaveParam)
Call doc.Close(false)
Function MakePropertyValue(cName, uValue) As Variant
Dim oPropertyValue As Variant
Set oPropertyValue = SM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = cName
oPropertyValue.Value = uValue
Set MakePropertyValue = oPropertyValue
End Function
Function MakePropertyValue2(cName, uValue) As Variant
Dim oPropertyValue As Variant
Dim paso
Set paso = SM.Bridge_GetValueObject()
Call paso.Set("[]com.sun.star.beans.PropertyValue",uValue)
Set oPropertyValue = SM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = cName
oPropertyValue.Value = paso
Set MakePropertyValue2 = oPropertyValue
End Function
cambio la línea --> Set SaveParam(1) = MakePropertyValue("FilterData", filterdata)
por --> Set SaveParam(1) = MakePropertyValue2("FilterData", filterdata)
da el error al asignar paso a oPropertyValue.Value (error type mismatch)
En lotusscript no conozco manera de decirle al array que sea de un tipo que no está definido. He tratado de crear yo un type con la misma estructura y asignárselo al arrary filterdata, pero al asignarlo tb me da error.
OpenOffice 4.1.2 en W7
Re: Exportar a PDF en lotus Notes no aplica filtros
Claro, MakePropertyValue2 no creo que retorne una extructura correcta... hace mucho que no programo en Basic, prueba a usar esta versión de MakeProperty y nos cuentas:
Saludos
Código: Seleccionar todo
Function MakePropertyValue(ByVal cName, ByVal uValue) As Object
Dim oPropertyValue As Object
Dim oSM As Object
oSM = CreateObject("com.sun.star.ServiceManager")
oPropertyValue = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = cName
oPropertyValue.Value = uValue
MakePropertyValue = oPropertyValue
End Function
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 4
- Registrado: Jue Ene 19, 2017 11:38 am
Re: Exportar a PDF en lotus Notes no aplica filtros
El MarketPropertyValue que me indicas, si te fijas es el mismo que tengo puesto yo (el 2 no el otro), y que no aplica los filtros aunque si genera el pdf .
El MarketPropertyValue2 esta hecho para realizar lo que indicaban en https://bz.apache.org/ooo/show_bug.cgi?id=119417, que por lo que comentan FilterData precisa que se le indique calaramente al array que es de tipo PropertyValue. Pero al realizar la conversión, me da el typemismatch al asignarlo.
El MarketPropertyValue2 esta hecho para realizar lo que indicaban en https://bz.apache.org/ooo/show_bug.cgi?id=119417, que por lo que comentan FilterData precisa que se le indique calaramente al array que es de tipo PropertyValue. Pero al realizar la conversión, me da el typemismatch al asignarlo.
OpenOffice 4.1.2 en W7
Re: Exportar a PDF en lotus Notes no aplica filtros
Si, pero tiene una "leve" diferencia con el tuyo... ¿puedes intentarlo?
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 4
- Registrado: Jue Ene 19, 2017 11:38 am
Re: Exportar a PDF en lotus Notes no aplica filtros
En lo que me pasas tengo que cambiar los object por variant, tema lotusscript, y filterdata no lo puedo poner con byval, ya que no se permite el paso de arrays como valor.
Pruebo cambiando eso y el resultado es el mismo.
Pruebo cambiando eso y el resultado es el mismo.
OpenOffice 4.1.2 en W7
Re: Exportar a PDF en lotus Notes no aplica filtros
Hola, tengo el mismo problema.
Encontrasteis alguna solucion?
Gracias
Encontrasteis alguna solucion?
Gracias
OpenOffice 3.1 en Windows 10