REM wird von der Commandline aufgerufen (per XBase++)
REM zusammen mit der leeren Briefbogendatei KSOXBB.odt,
REM die mit dem Formularnamen in das ArchivDir kopiert wird...
REM ... oder der passenden Formulardatei: cFormular im Archiv
REM ArchivDir & cFormFile  ==>> ThisComponent
SUB FormSVodtPDF(stFSeite AS String, stFont AS String, stFSize AS String)
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem dim stAuftrag as String
dim stFormFile as String
dim stFileHtml as String

dim aSeite()
dim oViewCursor AS Object
dim stStyleName As String
dim oStyle as Object

rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame

rem ----------------------------------------------------------------------
aSeite = Split(stFSeite)		' cFormSeite in Html_Form_2 = 5cm 2cm 2cm 2.5cm
oViewCursor = ThisComponent.CurrentController.getViewCursor()
stStyleName = oViewCursor.PageStyleName
oStyle = ThisComponent.StyleFamilies.getByName("PageStyles").getByName(stStyleName)
oStyle.TopMargin = Val(aSeite(0))*1000
oStyle.RightMargin = Val(aSeite(1))*1000
oStyle.BottomMargin = Val(aSeite(2))*1000
oStyle.LeftMargin = Val(aSeite(3))*1000
rem ----------------------------------------------------------------------

dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem stAuftrag = Mid(document.Title,2,6)
stFormFile = ThisComponent.URL
rem stFileHtml = Replace(stFormFile, ".odt", ".rdr")
stFileHtml = Replace(stFormFile, ".odt", ".html")

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, Array())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = stFileHtml		'"file:///C:/Bestatt/KSOE/Scans/Dokumente/Auftrag/Formular/Formular_Auftrag_heute.rdr"
args2(1).Name = "Filter"
rem args2(1).Value = "Text"
args2(1).Value = "HTML (StarWriter)"

dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:SelectAll", "", 0, Array())

rem ----------------------------------------------------------------------
dim args4(4) as new com.sun.star.beans.PropertyValue
args4(0).Name = "CharFontName.StyleName"
args4(0).Value = ""
args4(1).Name = "CharFontName.Pitch"
args4(1).Value = 1
args4(2).Name = "CharFontName.CharSet"
args4(2).Value = -1
args4(3).Name = "CharFontName.Family"
args4(3).Value = 2
args4(4).Name = "CharFontName.FamilyName"
args4(4).Value = stFont		'"Courier New"

dispatcher.executeDispatch(document, ".uno:CharFontName", "", 0, args4())

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = Replace(stFormFile, ".odt", ".odt")
args1(1).Name = "FilterName"
args1(1).Value = "writer8"

	SetFont(stFSize)		'diese Fkt kommt direkt im Anschluss an F12()
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
rem	F12()		'diese Fkt kommt direkt im Anschluss
rem ----------------------------------------------------------------------
REM die PDF-Datei erzeugen:
				DIM oDoc as Object
				oDoc = ThisComponent
				DIM stPrintPDF as String
				stPrintPDF = Replace(stFormFile, ".odt", ".pdf")
				DIM filterArgs(1) as New com.sun.star.beans.PropertyValue
				filterArgs(1).Name = "SelectPdfVersion"
				filterArgs(1).Value = 3
				DIM arg(1) AS NEW com.sun.star.beans.PropertyValue
				arg(0).name = "FilterName"
				arg(0).value = "writer_pdf_Export"
				arg(1).Name = "FilterData"
				arg(1).Value = filterArgs
				oDoc.storeToURL(stPrintPDF, arg())	

rem		wait 2000
	
rem ----------------------------------------------------------------------
end sub
