public bool SavePdfv17 { get; set; }
SavePdfv17 # get and set (CodecsPdfSaveOptions)
Value | Description |
---|---|
true | To save the file as PDF v1.7. |
false | to save the file as PDF v1.2. The default value is false. |
Note: It is recommended you use the Version property instead of SavePdfA, SavePdfv13, SavePdfv14, SavePdfv15 and SavePdfv16. Version provides a clearer view of what the final version of the raster PDF will be when saving with LEADTOOLS. Setting Version will automatically toggles the various SavePdfXYZ properties accordingly and setting these properties might change the value of Version.
PDF/A is a subset of the PDF standard that contains only those features that are suited for long-term archival. Primarily this means that the document will be completely self-contained: it includes all content, font and color information.
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 reference
Debug.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 reference
codecs.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 reference
codecs.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 reference
codecs.Options.RasterizeDocument.Load.TopMargin = 1.0;
codecs.Options.RasterizeDocument.Load.Unit = CodecsRasterizeDocumentUnit.Pixel; // CodecsRasterizeDocumentUnit Enumeration reference
using (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 reference
codecs.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.4
codecs.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 PDF
codecs.Save(image, destFileName1, RasterImageFormat.RasPdf, 24);
}
// And load it back before saving it as BMP
using (RasterImage image = codecs.Load(destFileName1))
{
codecs.Save(image, destFileName2, RasterImageFormat.Bmp, image.BitsPerPixel);
}
}
else
{
Debug.WriteLine("PDF Engine is not found!");
}
// Clean up
codecs.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 reference
System.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 reference
codecs.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 reference
codecs.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
// reference
codecs.getOptions().getRasterizeDocument().getLoad().setTopMargin(1.0);
codecs.getOptions().getRasterizeDocument().getLoad().setUnit(CodecsRasterizeDocumentUnit.PIXEL); // CodecsRasterizeDocumentUnit
// Enumeration
// reference
RasterImage 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 reference
codecs.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.4
codecs.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 PDF
codecs.save(image, destFileName1, RasterImageFormat.PDF_LEAD_MRC, 24);
image = null;
// And load it back before saving it as BMP
image = 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;
} else
System.out.println("PDF Engine is not found!");
// Clean up
codecs.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