PdfAutoBookmark Structure
Summary
Options to use when creating bookmarks in automatic way based on font information of the document when creating Adobe Portable Document Format (PDF) documents.
Syntax
C#
VB
Objective-C
C++
Java
[SerializableAttribute()]
[DataContractAttribute()]
public struct PdfAutoBookmark
<DataContractAttribute()>
<SerializableAttribute()>
Public Structure PdfAutoBookmark
Inherits System.ValueType
@interface LTPdfAutoBookmark : NSObject <NSCopying, NSCoding>
public class PdfAutoBookmark
[DataContractAttribute()]
[SerializableAttribute()]
public value class PdfAutoBookmark : public System.ValueType
Example
This example will create a new Adobe Portable Document Format document (PDF) file using the various supported options.
using Leadtools.Document.Writer;
using Leadtools.Ocr;
using Leadtools;
using Leadtools.Codecs;
public void PdfDocumentOptionsExample()
{
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.docx");
var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.pdf");
// Setup a new RasterCodecs object
var codecs = new RasterCodecs();
codecs.Options.RasterizeDocument.Load.Resolution = 300;
// Get the number of pages in the input document
var pageCount = codecs.GetTotalPages(inputFileName);
// Create a new instance of the LEADTOOLS Document Writer
var docWriter = new DocumentWriter();
// Change the PDF options
var pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions;
pdfOptions.DocumentType = PdfDocumentType.Pdf;
pdfOptions.FontEmbedMode = DocumentFontEmbedMode.None;
pdfOptions.ImageOverText = false;
pdfOptions.Linearized = false;
pdfOptions.Title = "Add your title here";
pdfOptions.Subject = "Add your subject here";
pdfOptions.Keywords = "Add your keywords here";
pdfOptions.Author = "Add author name here";
pdfOptions.Protected = true;
pdfOptions.UserPassword = "User password";
pdfOptions.OwnerPassword = "Owner password";
pdfOptions.EncryptionMode = PdfDocumentEncryptionMode.RC128Bit;
pdfOptions.PrintEnabled = false;
pdfOptions.HighQualityPrintEnabled = true;
pdfOptions.CopyEnabled = false;
pdfOptions.EditEnabled = true;
pdfOptions.AnnotationsEnabled = true;
pdfOptions.AssemblyEnabled = false;
pdfOptions.OneBitImageCompression = OneBitImageCompressionType.Flate;
pdfOptions.ColoredImageCompression = ColoredImageCompressionType.FlateJpeg;
pdfOptions.QualityFactor = 2;
// Use default resolution
pdfOptions.DocumentResolution = 0;
pdfOptions.PageRestriction = DocumentPageRestriction.Relaxed;
// Setup empty page size (Letter size)
pdfOptions.EmptyPageWidth = 8.5;
pdfOptions.EmptyPageHeight = 11;
pdfOptions.EmptyPageResolution = 300;
docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);
// Create a new PDF document
Console.WriteLine("Creating new PDF document: {0}", outputFileName);
docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf);
// Loop through all the pages
for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++)
{
// Get the page as SVG
Console.WriteLine("Loading page {0}", pageNumber);
var page = new DocumentWriterSvgPage();
page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);
// Add the page
Console.WriteLine("Adding page {0}", pageNumber);
docWriter.AddPage(page);
page.SvgDocument.Dispose();
}
// Finally finish writing the PDF file on disk
docWriter.EndDocument();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools.Document.Writer
Imports Leadtools.Ocr
Imports Leadtools
Imports Leadtools.Codecs
Public Sub PdfDocumentOptionsExample()
Dim inputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.docx")
Dim outputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Example.pdf")
' Setup a new RasterCodecs object
Dim codecs As New RasterCodecs()
codecs.Options.RasterizeDocument.Load.Resolution = 300
' Get the number of pages in the input document
Dim pageCount As Integer = codecs.GetTotalPages(inputFileName)
' Create a new instance of the LEADTOOLS Document Writer
Dim docWriter As New DocumentWriter()
' Change the PDF options
Dim pdfOptions As PdfDocumentOptions = DirectCast(docWriter.GetOptions(DocumentFormat.Pdf), PdfDocumentOptions)
pdfOptions.DocumentType = PdfDocumentType.Pdf
pdfOptions.FontEmbedMode = DocumentFontEmbedMode.None
pdfOptions.ImageOverText = False
pdfOptions.Linearized = False
pdfOptions.Title = "Add your title here"
pdfOptions.Subject = "Add your subject here"
pdfOptions.Keywords = "Add your keywords here"
pdfOptions.Author = "Add author name here"
pdfOptions.Protected = True
pdfOptions.UserPassword = "User password"
pdfOptions.OwnerPassword = "Owner password"
pdfOptions.EncryptionMode = PdfDocumentEncryptionMode.RC128Bit
pdfOptions.PrintEnabled = False
pdfOptions.HighQualityPrintEnabled = True
pdfOptions.CopyEnabled = False
pdfOptions.EditEnabled = True
pdfOptions.AnnotationsEnabled = True
pdfOptions.AssemblyEnabled = False
pdfOptions.OneBitImageCompression = OneBitImageCompressionType.Flate
pdfOptions.ColoredImageCompression = ColoredImageCompressionType.FlateJpeg
pdfOptions.QualityFactor = 2
' Use default resolution
pdfOptions.DocumentResolution = 0
pdfOptions.PageRestriction = DocumentPageRestriction.Relaxed
' Setup empty page size (Letter size)
pdfOptions.EmptyPageWidth = 8.5
pdfOptions.EmptyPageHeight = 11
pdfOptions.EmptyPageResolution = 300
docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions)
' Create a new PDF document
Console.WriteLine("Creating new PDF document: {0}", outputFileName)
docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf)
' Loop through all the pages
For pageNumber As Integer = 1 To pageCount
' Get the page as SVG
Console.WriteLine("Loading page {0}", pageNumber)
Dim page As New DocumentWriterSvgPage()
page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, Nothing)
' Add the page
Console.WriteLine("Adding page {0}", pageNumber)
docWriter.AddPage(page)
page.SvgDocument.Dispose()
Next
' Finally finish writing the PDF file on disk
docWriter.EndDocument()
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class