Object that manages the children of this document.
public DocumentDocuments Documents { get; }
public:
property DocumentDocuments^ Documents
{
DocumentDocuments^ get()
}
public DocumentDocuments getDocuments()
Documents # get (LEADDocument)
The DocumentDocuments object that manages the children of this LEADDocument.
DocumentDocuments derives from LeadCollection<T> and this can implement System.Collections.ObjectModel.Collection. You can use any of the collection methods to iterate through the documents. This collection is read-only however and you cannot add, remove or change the items. Instead, use Pages to add or remove pages that belong to a separate document to this one. The LEADDocument.Documents collection will automatically gets updated to reflect what child documents are currently held in the document.
using Leadtools;
using Leadtools.Caching;
using Leadtools.Document;
public void DocumentFactoryCreateExample()
{
var cache = GetCache();
// Create a new document
var createOptions = new CreateDocumentOptions();
createOptions.Cache = cache;
createOptions.Descriptor = null;
createOptions.MimeType = null;
createOptions.UseCache = true;
createOptions.UserId = null;
Console.WriteLine("Cache Policy: {0}", createOptions.CachePolicy.AbsoluteExpiration);
string documentId = null;
using (LEADDocument document = DocumentFactory.Create(createOptions))
{
document.Name = "Virtual";
// Should have 0 pages and documents
System.Diagnostics.Debug.Assert(document.Pages.Count == 0);
System.Diagnostics.Debug.Assert(document.Documents.Count == 0); // DocumentDocuments reference
// Add page 1 and 2 from a PDF file
LoadDocumentOptions loadOptions = new LoadDocumentOptions();
loadOptions.Cache = cache;
LEADDocument childDocument = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"), loadOptions);
// Do not dispose the child documents, but save it into the cache
// This is optional and is done in this example since we will try to re-load the parent document
// from the cache - and the child documents should be in the cache as well
childDocument.SaveToCache();
// Now add the pages
document.Pages.Add(childDocument.Pages[0]);
document.Pages.Add(childDocument.Pages[1]);
// Add an empty page
var documentPage = document.Pages.CreatePage(LeadSizeD.Create(LEADDocument.UnitsPerInch * 8.5, LEADDocument.UnitsPerInch * 11), 300);
document.Pages.Add(documentPage);
// Add page 3 and 4 from a TIF file
childDocument = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "ocr1.tif"), loadOptions);
// Also save it into the cache
childDocument.SaveToCache();
// Now add the pages
document.Pages.Add(childDocument.Pages[0]);
document.Pages.Add(childDocument.Pages[0]);
// Should have 5 pages and 2 documents (the PDF and the TIF)
System.Diagnostics.Debug.Assert(document.Pages.Count == 5);
System.Diagnostics.Debug.Assert(document.Documents.Count == 2);
// Tell the parent document to dispose any child documents when the parent is disposed
document.AutoDisposeDocuments = true;
// Show the info of this document, should say 5 pages
Console.WriteLine("Original document information");
PrintOutDocumentInfo(document);
// Now save, the parent document into the cache
document.SaveToCache();
// And tell all documents to not delete themselves from the cache
document.AutoDeleteFromCache = false;
// Save the ID so we can load it
documentId = document.DocumentId;
}
// Now, load the document from the cache
var loadFromCacheOptions = new LoadFromCacheOptions();
loadFromCacheOptions.Cache = cache;
loadFromCacheOptions.DocumentId = documentId;
using (LEADDocument document = DocumentFactory.LoadFromCache(loadFromCacheOptions))
{
// Should have 5 pages and 2 documents (the PDF and the TIF)
System.Diagnostics.Debug.Assert(document.Pages.Count == 5);
System.Diagnostics.Debug.Assert(document.Documents.Count == 2);
// Show the info of this document, should still say 5 pages
Console.WriteLine("Loaded from cache information");
PrintOutDocumentInfo(document);
// Delete first page
document.Pages.RemoveAt(0);
// Delete the last page
document.Pages.RemoveAt(document.Pages.Count - 1);
// Should have 3 pages and 2 documents (the PDF and the TIF)
System.Diagnostics.Debug.Assert(document.Pages.Count == 3);
System.Diagnostics.Debug.Assert(document.Documents.Count == 2);
Console.WriteLine("After removing the first 2 pages");
PrintOutDocumentInfo(document);
// Delete this document and all its children from the cache when we are disposed
document.AutoDeleteFromCache = true;
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Calendar;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.caching.*;
import leadtools.document.*;
public void documentFactoryCreateExample() throws IOException {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
FileCache cache = getCache();
// Create a new document
CreateDocumentOptions createOptions = new CreateDocumentOptions();
createOptions.setCache(cache);
createOptions.setDescriptor(null);
createOptions.setMimeType(null);
createOptions.setUseCache(true);
System.out.println("Cache Policy: " + createOptions.getCachePolicy().getAbsoluteExpiration());
String documentId = null;
LEADDocument document = DocumentFactory.create(createOptions);
document.setName("Virtual");
// Should have 0 pages and documents
assertTrue(document.getPages().size() == 0);
// Add page 1 and 2 from a PDF file
LoadDocumentOptions loadOptions = new LoadDocumentOptions();
loadOptions.setCache(cache);
LEADDocument childDocument = DocumentFactory.loadFromFile(combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf"),
loadOptions);
// Do not dispose the child documents, but save it into the cache
// This is optional and is done in this example since we will try to re-load the
// parent document
// from the cache - and the child documents should be in the cache as well
childDocument.saveToCache();
// Now add the pages
document.getPages().add(childDocument.getPages().get(0));
document.getPages().add(childDocument.getPages().get(1));
// Add an empty page
DocumentPage documentPage = document.getPages()
.createPage(LeadSizeD.create(LEADDocument.UNITS_PER_INCH * 8.5, LEADDocument.UNITS_PER_INCH * 11), 300);
document.getPages().add(documentPage);
// Add page 3 and 4 from a TIF file
childDocument = DocumentFactory.loadFromFile(combine(LEAD_VARS_IMAGES_DIR, "ocr1.tif"), loadOptions);
// Also save it into the cache
childDocument.saveToCache();
// Now add the pages
document.getPages().add(childDocument.getPages().get(0));
document.getPages().add(childDocument.getPages().get(0));
// Should have 5 pages and 2 documents (the PDF and the TIF)
assertTrue(document.getPages().size() == 5);
assertTrue(document.getDocuments().size() == 2);
// Tell the parent document to dispose any child documents when the parent is
// disposed
document.setAutoDisposeDocuments(false);
// Show the info of this document, should say 5 pages
System.out.println("Original document information");
printOutDocumentInfo(document);
// Now save, the parent document into the cache
document.saveToCache();
// And tell all documents to not delete themselves from the cache
document.setAutoDeleteFromCache(false);
// Save the ID so we can load it
document.dispose();
documentId = document.getDocumentId();
System.out.println("Docu: " + documentId);
// Now, load the document from the cache
LoadFromCacheOptions loadFromCacheOptions = new LoadFromCacheOptions();
loadFromCacheOptions.setCache(cache);
loadFromCacheOptions.setDocumentId(documentId);
System.out.println("Load: " + loadFromCacheOptions.getDocumentId());
document = DocumentFactory.loadFromCache(loadFromCacheOptions);
// Should have 5 pages and 2 documents (the PDF and the TIF)
assertTrue(document.getPages().size() == 5);
assertTrue(document.getDocuments().size() == 2);
// Show the info of this document, should still say 5 pages
System.out.println("Loaded from cache information");
printOutDocumentInfo(document);
// Delete first page
document.getPages().remove(0);
document.getPages().remove(document.getPages().size() - 1);
// Delete the last page
// Should have 3 pages and 2 documents (the PDF and the TIF)
assertTrue(document.getPages().size() == 3);
assertTrue(document.getDocuments().size() == 2);
System.out.println("After removing the first 2 pages");
printOutDocumentInfo(document);
// Delete this document and all its children from the cache when we are disposed
document.setAutoDeleteFromCache(true);
document.dispose();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document