Buscando alguna solución mágica del tipo "openoffice2pdf" o "odt2pdf", encontré el siguiente enlace
http://www.oooforum.org/forum/viewtopic.phtml?p=61967#61967 donde se ofrece una macro que hace justamente eso.
Los pasos para poder usarlo son los siguientes:
- Abrir openoffice e ir a Herramientas->Macros->Organizar->Basic
- Crear una nueva y copiar el siguiente código
Sub ExportAsPDF(strFile as string)
Dim oDoc
Dim strFilterSubName as String
Dim oLoadArgs(0) as New com.sun.star.beans.PropertyValue
oLoadArgs(0).Name = "Hidden"
oLoadArgs(0).Value = True
oDoc = StarDesktop.loadComponentFromURL(ConvertToUrl(strFile), "_blank", 0, oLoadArgs())
If IsNull(oDoc) Then Exit Sub
strFilterSubName = ""
' select appropriate filter
If oDoc.SupportsService("com.sun.star.presentation.PresentationDocument") Then
strFilterSubName = "impress_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.sheet.SpreadsheetDocument") Then
strFilterSubName = "calc_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.text.WebDocument") Then
strFilterSubName = "writer_web_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.text.GlobalDocument") Then
strFilterSubName = "writer_globaldocument_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.text.TextDocument") Then
strFilterSubName = "writer_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.drawing.DrawingDocument") Then
strFilterSubName = "draw_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.formula.FormulaProperties") Then
strFilterSubName = "math_pdf_Export"
ElseIf oDoc.SupportsService("com.sun.star.chart.ChartDocument") Then
strFilterSubName = "chart_pdf_Export"
Else
Exit Sub
EndIf
Dim oSaveArgs(1) as New com.sun.star.beans.PropertyValue
oSaveArgs(0).Name = "FilterName"
oSaveArgs(0).Value = strFilterSubName
oSaveArgs(1).Name = "CompressMode"
oSaveArgs(1).Value = "1"
oDoc.storeToUrl(ConvertToUrl( strFile & ".pdf" ), oSaveArgs())
oDoc.close(True)
End Sub
- Guardar la macro
- Llamar a openoffice desde línea de comandos con la siguiente instrucción:
$openoffice.org3 "macro:///Standard.Module1.ExportAsPDF(pathCompleto/archivo.odt)"
No hay comentarios:
Publicar un comentario