Насколько я понимаю чтобы узнать формат текущего документа нужно использовать ksGetObjParam?
Есть ещё интерфейс ISheetFormat.
IKompasDocument-->ILayoutSheets-->ILayoutSheet-->ISheetFormat
Если еще актуально... я делал как-то так:
var
iKompas: KompasObject;
iDocument2D: ksDocument2D;
iDocumentParam: ksDocumentParam;
iSheetPar: ksSheetPar;
iStandartSheet: ksStandartSheet;
begin
iDocumentParam := ksDocumentParam(iKompas.GetParamStruct(ko_DocumentParam));
iDocument2D.ksGetObjParam(iDocument2D.reference, iDocumentParam, ALLPARAM);
iSheetPar := ksSheetPar(iDocumentParam.GetLayoutParam());
if (iSheetPar <> nil) then
begin
iStandartSheet := ksStandartSheet(iSheetPar.GetSheetParam);
if (iStandartSheet <> nil) then
begin
...
//дальше используем нужные параметры листа
iStandartSheet.direct //ориентация листа (значения: 0 - верт.; 1 - гориз.)
iStandartSheet.Format //формат листа (значение: 0..5 соответственно А0..А5)
iStandartSheet.multiply //кратность (значения 1..9)
...
end;
end;
end;