Gilt ab List & Label 23
Mit dem folgenden DOM-Code können Sie prüfen, ob eine Projektdatei beispielsweise PDF- und/oder Grafikobjekte beinhaltet:
//Check for image and PDF objects via DOM-API
// Create new ProjectList
ProjectList pf = new ProjectList(LL);
pf.Open(@"<Path>\<Reportname>.lst", LlDomFileMode.Open, LlDomAccessMode.ReadWrite, LlDomSettings.IgnoreErrors);
//Read out image objects
foreach (ObjectBase obj in pf.Objects.OfType<ObjectDrawing>())
{
MessageBox.Show(obj.Name);
}
//Read out PDF objects
foreach (ObjectBase obj in pf.Objects.OfType<ObjectPdf>())
{
MessageBox.Show("Filename: " + (obj as ObjectPdf).Definition.Source.FileInfo.FileName + "\nName: "+ (obj as ObjectPdf).Name);
}
Eine Besonderheit stellen OLE-Container dar. Um zu prüfen, ob eine Projektdatei eines oder mehrere dieser Objekte beinhaltet, muss diese geparst werden:
//Object counter
int ObjectOleCount = 0;
string Report = @"<Path>\<Reportname>.lst";
string Line;
//Read the file and display it line by line
System.IO.StreamReader file = new System.IO.StreamReader(Report);
while ((Line = file.ReadLine()) != null)
{
if (Line.Contains("OLE Container"))
{
ObjectOleCount++;
System.Console.WriteLine("#" + ObjectOleCount + ": "+ Line);
}
...
}
IDKBTD001354 KBTD001354