Zusätzliche Seiten über das Object Modell (DOM)

Ich arbeite mit dem Object Modell (DOM) und C#. Ich habe einen Bericht mit QR-Code und Texten erstellt. Nun möchte ich weitere Objekte auf weiteren Seiten platzieren. Wie kann ich Objekte auf bestimmte Seiten setzen?

Generell können Objekte über Darstellungsbedingungen und Ebenen gesteuert werden. .

Eine Steuerung über Ebenen kann mit der LayerId-Eigenschaft, eine Steuerung über Darstellungsbedingungen mit der Condition-Eigenschaft realisiert werden.

Denkbar wäre z.B. folgendes (über die Darstellungsbedingung):

using (ProjectList project = new ProjectList(LL))
{
  //Vorhandenes Projekt Öffnen
  project.Open(_pathToList, LlDomFileMode.Open, LlDomAccessMode.ReadWrite, true);
  project.Objects.Clear();
  
  //Mindestanzahl der Druckseiten auf zwei:
  project.ProjectParameters["LL.MinPageCount"].Contents = "2";

  //Barcode erstellen und nur auf Seite 1 ausgeben:
  ObjectBarcode barcodeItem = new ObjectBarcode(project.Objects);
  barcodeItem.Source.Formula = "Barcode(\"Barcode Seite1\",\"CODE128\")";
  barcodeItem.Source.Mode = "1";
  barcodeItem.Source.Text = "";
  barcodeItem.Source.BarcodeType = LlBarcodeType.CODE128;
  barcodeItem.ReadOnly = "False";
  barcodeItem.Condition = "Page()=1";
  barcodeItem.Name = "[Barcode Seite 1]";
  barcodeItem.Selected = "False";
  barcodeItem.Position.Left = "10000";
  barcodeItem.Position.Top = "55000";
  barcodeItem.Position.Width = "74700";
  barcodeItem.Position.Height = "52260";

  //Weiteren Barcode erstellen und nur auf Seite 2 ausgeben: 
  ObjectBarcode barcodeItem2 = new ObjectBarcode(project.Objects);
  barcodeItem2.Source.Formula = "Barcode(\"Barcode Seite2\",\"CODE128\")";
  barcodeItem2.Source.Mode = "1";
  barcodeItem2.Source.Text = "";
  barcodeItem2.Source.BarcodeType = LlBarcodeType.CODE128;
  barcodeItem2.Source.Variable = "";
  barcodeItem2.ReadOnly = "False";
  barcodeItem2.Condition = "Page()=2";
  barcodeItem2.Name = "[Barcode Seite 2]";
  barcodeItem2.Selected = "False";
  barcodeItem2.Position.Left = "11680";
  barcodeItem2.Position.Top = "120000";
  barcodeItem2.Position.Width = "74700";
  barcodeItem2.Position.Height = "52260";
  
  //Projekt speichern
  project.Save();
  project.Close();
}

Hier wird das Barcodeobjekt “Barcode Seite 1” nur auf der ersten Seite und das Barcodeobjekt “Barcode Seite 2” nur auf der zweiten Seite angezeigt.

Hilft das schon mal weiter?

Noch ein kleiner Tipp:
Im Unterverzeichnis “Beispiele” befindet sich das DOM-Code Generator Sample, mit dem man sich den .NET-Code für einen bestehenden Report generieren lassen kann. Hier kann man einen Report einlesen, dessen Objekte bereits wie gewünscht erzeugt wurden und ggf. die benötigten Stellen in den eigenen DOM-Code übernehmen.