+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LL.MinPageCount per DOM setzen?

print

(Jens Brügemann) #1

Ist es möglich die Mindestanzahl an Seiten z.B. per LlDomSetProperty zu setzen? Oder wie gehe ich dafür vor?

Vielen Dank im voraus!


(Jens Brügemann) #2

Konnte mir die Frage selbst beantworten:

		HLLDOMOBJ hParamList;
	LlDomGetObject(hProj, "ProjectParameters", &hParamList);
	HLLDOMOBJ hParam;
	INT nParamCount;
	INT nRet = LlDomGetSubobjectCount(hParamList, &nParamCount);
	for (int i = 0; i < nParamCount; i++)
	{
		LlDomGetSubobject(hParamList, i, &hParam);
		INT nBufSize = LlDomGetProperty(hParam, _T("Name"), NULL, 0);
		TCHAR* pszBuffer = new TCHAR[nBufSize]; 
		nRet = LlDomGetProperty(hParam, _T("Name"), pszBuffer, nBufSize);
		CString strParam(pszBuffer);
		if (strParam == "LL.MinPageCount")
		{
			LlDomSetProperty(hParam, _T("Contents"), _T("3"));
			break;
		}
	}

Falls es eine elegantere Methode gibt, wäre ich daran interessiert.


(Oliver Hambrecht) #3

Guten Morgen,

da es sich an dieser Stelle um einen Projektparameter handelt, kann man auch einfach folgendes dafür verwenden:


LL.ProjectParameters[LlProjectParameter.MinPageCount].Value = “5”;

Einfach vor dem Druck/Design aufrufen und es müsste bereits funktionieren.


(Jens Brügemann) #4

Gibt es einen ähnlichen Einzeiler für die API mit C++?


(combit - Jochen Bartlau) #5

Leider nein, da ist Ihre Lösung die “richtige”.


(combit - Jochen Bartlau) #6

Ich werde gerade von einem vorlauten Kollegen korrigiert :wink: : Probieren Sie einmal

LlSetDefaultProjectParameter(_hJob, _T("LL.MinPageCount"), _T("5"), LL_PARAMETERFLAG_GLOBAL);

bzw.

LlPrintSetProjectParameter(_hJob, _T("LL.MinPageCount"), _T("100"), LL_PARAMETERFLAG_GLOBAL);

für den Druck. Klappt das?