public class CodecsDocumentImageInfo @interface LTCodecsDocumentImageInfo : NSObject public class CodecsDocumentImageInfo public ref class CodecsDocumentImageInfo class CodecsDocumentImageInfo: LEADTOOLS provides support for loading a document as a raster image. Document formats such as PDF, XPS, DOCX/DOC, PPTX/PPT, XLSS/XLS, RTF and Text do not contain physical width, height or resolution. It is up to the loader (in this case, the RasterCodecs object) to specify the transformation from logical coordinates to physical pixels through a process called rasterization. For more information, refer to CodecsRasterizeDocumentLoadOptions.
The CodecsDocumentImageInfo class contains properties that specify the original document logical size on disk. This can be useful when calculating the rasterization parameters based on your application viewing needs. The CodecsDocumentImageInfo class contains the following members:
| Member | Description |
|---|---|
| IsDocumentFile |
true if the image file or stream passed to RasterCodecs.GetInformation or RasterCodecs.GetInformationAsync was a document file such as PDF or XPS and the other members of CodecsDocumentImageInfo are valid. false, otherwise. |
| PageWidth |
The original width of the document page in Unit |
| PageHeight |
The original height of the document page in Unit |
| Unit |
The unit for PageWidth and PageHeight |
These values specify the original size of the document on disk regardless of the settings of current document rasterization. The CodecsImageInfo.Width, CodecsImageInfo.Height, CodecsImageInfo.XResolution and CodecsImageInfo.YResolution contains the size of the final rasterized document in physical units.
The original document format is returned as usual in CodecsImageInfo.Format.
The CodecsDocumentImageInfo instance is returned in the CodecsImageInfo.Document property of the CodecsImageInfo object returned by all the RasterCodecs.GetInformation or RasterCodecs.GetInformationAsync methods.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing.Core;using Leadtools.Pdf;public void CodecsPdfOptionsExample(){RasterCodecs codecs = new RasterCodecs();string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "PDFSegmentation.pdf");string destFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "PdfOptions.pdf");string destFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "PdfOptions.bmp");CodecsImageInfo info = codecs.GetInformation(srcFileName, true);codecs.Options.Pdf.InitialPath = @"C:\MyApp\Bin";info = codecs.GetInformation(srcFileName, true);Debug.WriteLine("Information for: {0}", srcFileName);Debug.WriteLine(string.Format("Document: {0}", info.Document)); // CodecsDocumentImageInfo referenceDebug.WriteLine(string.Format("Document: {0}", info.Document.IsDocumentFile));Debug.WriteLine(string.Format("Document: {0}", info.Document.PageHeight));Debug.WriteLine(string.Format("Document: {0}", info.Document.PageWidth));Debug.WriteLine(string.Format("Document: {0}", info.Document.Unit));Debug.WriteLine(string.Format("Document: {0}", info.IsGray8Alpha));Debug.WriteLine(string.Format("Palette: {0}", info.GetPalette()));// Check if the PDF engine is installed then get the load and save options of the PDF files.if (codecs.Options.Pdf.IsEngineInstalled){// Resulting image pixel depth.// CodecsPdfOptions & CodecsPdfLoadOptions referencecodecs.Options.Pdf.Load.DisplayDepth = 24;codecs.Options.Pdf.Load.GraphicsAlpha = 4;codecs.Options.Pdf.Load.DisableCieColors = false;codecs.Options.Pdf.Load.DisableCropping = false;codecs.Options.Pdf.Load.EnableInterpolate = false;codecs.Options.Pdf.Load.Password = "";// Type of font anti-aliasing to use.codecs.Options.Pdf.Load.TextAlpha = 1;codecs.Options.Pdf.Load.UseLibFonts = true;// Horizontal,vertical display resolution in dots per inch.codecs.Options.RasterizeDocument.Load.XResolution = 150;codecs.Options.RasterizeDocument.Load.YResolution = 150;// CodecsRasterizeDocumentOptions & CodecsRasterizeDocumentLoadOptions referencecodecs.Options.RasterizeDocument.Load.BottomMargin = 0.1;codecs.Options.RasterizeDocument.Load.LeftMargin = 0.1;codecs.Options.RasterizeDocument.Load.PageHeight = 11;codecs.Options.RasterizeDocument.Load.PageWidth = 8.5;codecs.Options.RasterizeDocument.Load.Resolution = 150;codecs.Options.RasterizeDocument.Load.RightMargin = 1.25;codecs.Options.RasterizeDocument.Load.SizeMode = CodecsRasterizeDocumentSizeMode.None; // CodecsRasterizeDocumentSizeMode Enumeration referencecodecs.Options.RasterizeDocument.Load.TopMargin = 1.0;codecs.Options.RasterizeDocument.Load.Unit = CodecsRasterizeDocumentUnit.Pixel; // CodecsRasterizeDocumentUnit Enumeration referenceusing (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)){// Set access rights for the user when he\she opens the file we create// CodecsPdfSaveOptions referencecodecs.Options.Pdf.Save.AssembleDocument = true;codecs.Options.Pdf.Save.ExtractText = true;codecs.Options.Pdf.Save.ExtractTextGraphics = true;codecs.Options.Pdf.Save.PrintDocument = false;codecs.Options.Pdf.Save.FillForm = true;codecs.Options.Pdf.Save.ModifyAnnotation = true;codecs.Options.Pdf.Save.ModifyDocument = true;codecs.Options.Pdf.Save.OwnerPassword = "LEAD Technologies";codecs.Options.Pdf.Save.PrintFaithful = false;codecs.Options.Pdf.Save.TextEncoding = CodecsPdfTextEncoding.Hex;codecs.Options.Pdf.Save.Use128BitEncryption = true;codecs.Options.Pdf.Save.UserPassword = "LEAD";// Set the PDF version to be v1.4codecs.Options.Pdf.Save.Version = CodecsRasterPdfVersion.V14;// Save it as linearized (optimized for web view)codecs.Options.Pdf.Save.Linearized = true;codecs.Options.Pdf.Save.LowMemoryUsage = false;codecs.Options.Pdf.Save.SavePdfA = false;codecs.Options.Pdf.Save.SavePdfv13 = false;codecs.Options.Pdf.Save.SavePdfv14 = false;codecs.Options.Pdf.Save.SavePdfv15 = false;codecs.Options.Pdf.Save.SavePdfv16 = false;codecs.Options.Pdf.Save.SavePdfv17 = false;codecs.Options.Pdf.Save.UseImageResolution = true;// Save the image back as PDFcodecs.Save(image, destFileName1, RasterImageFormat.RasPdf, 24);}// And load it back before saving it as BMPusing (RasterImage image = codecs.Load(destFileName1)){codecs.Save(image, destFileName2, RasterImageFormat.Bmp, image.BitsPerPixel);}}else{Debug.WriteLine("PDF Engine is not found!");}// Clean upcodecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
import java.io.File;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.nio.file.Paths;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.codecs.*;import leadtools.imageprocessing.core.MinMaxBitsCommand;public void codecsPdfOptionsExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";RasterCodecs codecs = new RasterCodecs();String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "PDFSegmentation.pdf");String destFileName1 = combine(LEAD_VARS_IMAGES_DIR, "PdfOptions.pdf");String destFileName2 = combine(LEAD_VARS_IMAGES_DIR, "PdfOptions.bmp");CodecsImageInfo info = codecs.getInformation(srcFileName, true);codecs.getOptions().getPdf().setInitialPath("C:\\MyApp\\Bin");info = codecs.getInformation(srcFileName, true);System.out.println("Information for: " + srcFileName);System.out.println("Document: " + info.getDocument()); // CodecsDocumentImageInfo referenceSystem.out.println("Document: " + info.getDocument().isDocumentFile());System.out.println("Document: " + info.getDocument().getPageHeight());System.out.println("Document: " + info.getDocument().getPageWidth());System.out.println("Document: " + info.getDocument().getUnit());System.out.println("Document: " + info.isGray8Alpha());System.out.println("Palette: " + info.getPalette());// Check if the PDF engine is installed then get the load and save options of// the PDF files.if (codecs.getOptions().getPdf().getInitialPath() != null) {// Resulting image pixel depth.// CodecsPdfOptions & CodecsPdfLoadOptions referencecodecs.getOptions().getPdf().getLoad().setDisplayDepth(24);codecs.getOptions().getPdf().getLoad().setGraphicsAlpha(4);codecs.getOptions().getPdf().getLoad().setDisableCieColors(false);codecs.getOptions().getPdf().getLoad().setDisableCropping(false);codecs.getOptions().getPdf().getLoad().setEnableInterpolate(false);codecs.getOptions().getPdf().getLoad().setPassword("");// Type of font anti-aliasing to use.codecs.getOptions().getPdf().getLoad().setTextAlpha(1);codecs.getOptions().getPdf().getLoad().setUseLibFonts(true);// Horizontal,vertical display resolution in dots per inch.codecs.getOptions().getRasterizeDocument().getLoad().setXResolution(150);codecs.getOptions().getRasterizeDocument().getLoad().setYResolution(150);// CodecsRasterizeDocumentOptions & CodecsRasterizeDocumentLoadOptions referencecodecs.getOptions().getRasterizeDocument().getLoad().setBottomMargin(0.1);codecs.getOptions().getRasterizeDocument().getLoad().setLeftMargin(0.1);codecs.getOptions().getRasterizeDocument().getLoad().setPageHeight(11);codecs.getOptions().getRasterizeDocument().getLoad().setPageWidth(8.5);codecs.getOptions().getRasterizeDocument().getLoad().setResolution(150);codecs.getOptions().getRasterizeDocument().getLoad().setRightMargin(1.25);codecs.getOptions().getRasterizeDocument().getLoad().setSizeMode(CodecsRasterizeDocumentSizeMode.NONE); // CodecsRasterizeDocumentSizeMode// Enumeration// referencecodecs.getOptions().getRasterizeDocument().getLoad().setTopMargin(1.0);codecs.getOptions().getRasterizeDocument().getLoad().setUnit(CodecsRasterizeDocumentUnit.PIXEL); // CodecsRasterizeDocumentUnit// Enumeration// referenceRasterImage image = codecs.load(srcFileName, 0, CodecsLoadByteOrder.BGR_OR_GRAY, 1, 1);// Set access rights for the user when he\she opens the file we create// CodecsPdfSaveOptions referencecodecs.getOptions().getPdf().getSave().setAssembleDocument(true);codecs.getOptions().getPdf().getSave().setExtractText(true);codecs.getOptions().getPdf().getSave().setExtractTextGraphics(true);codecs.getOptions().getPdf().getSave().setPrintDocument(false);codecs.getOptions().getPdf().getSave().setFillForm(true);codecs.getOptions().getPdf().getSave().setModifyAnnotation(true);codecs.getOptions().getPdf().getSave().setModifyDocument(true);codecs.getOptions().getPdf().getSave().setOwnerPassword("LEAD Technologies");codecs.getOptions().getPdf().getSave().setPrintFaithful(false);codecs.getOptions().getPdf().getSave().setTextEncoding(CodecsPdfTextEncoding.HEX);codecs.getOptions().getPdf().getSave().setUse128BitEncryption(true);codecs.getOptions().getPdf().getSave().setUserPassword("LEAD");// Set the PDF version to be v1.4codecs.getOptions().getPdf().getSave().setVersion(CodecsRasterPdfVersion.V14);// Save it as linearized (optimized for web view)codecs.getOptions().getPdf().getSave().setLinearized(true);codecs.getOptions().getPdf().getSave().setLowMemoryUsage(false);codecs.getOptions().getPdf().getSave().setSavePdfA(false);codecs.getOptions().getPdf().getSave().setSavePdfv13(false);codecs.getOptions().getPdf().getSave().setSavePdfv14(false);codecs.getOptions().getPdf().getSave().setSavePdfv15(false);codecs.getOptions().getPdf().getSave().setSavePdfv16(false);codecs.getOptions().getPdf().getSave().setSavePdfv17(false);codecs.getOptions().getPdf().getSave().setUseImageResolution(true);// Save the image back as PDFcodecs.save(image, destFileName1, RasterImageFormat.PDF_LEAD_MRC, 24);image = null;// And load it back before saving it as BMPimage = codecs.load(destFileName1);codecs.save(image, destFileName2, RasterImageFormat.BMP, image.getBitsPerPixel());assertTrue("File unsuccessfully saved to " + destFileName2, (new File(destFileName2)).exists());System.out.printf("File successfully saved to %s%n", destFileName2);image = null;} elseSystem.out.println("PDF Engine is not found!");// Clean upcodecs.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
