Quantcast
Channel: Foxit SDK Knowledge Base
Viewing all 123 articles
Browse latest View live

Releasing buffer memory when using DLL or LIB edition

$
0
0

With a DLL there are a few different ways of handling memory. Many libraries ask the user to create the buffer but with the DLL and LIB editions of Debenu Quick PDF Library the library itself maintains the buffer. So if you call a certain function that returns a string then that memory will be kept by Debenu Quick PDF Library until the next function that returns a string.

So if for example you are using the digital signature functions and you make a call to the EndSignProcessToString function then the internal buffer keeps the data until it is cleared by a new call to a function that requires an internal buffer. Calling something like the LibraryVersion function will clear that internal buffer, setting it to a smallish string, thereby releasing the memory.

This only applies to the DLL and LIB editions of Debenu Quick PDF Library as functions that return a string actually return a pointer to the first character of the string data whereas with the Delphi and ActiveX editions the functions that return a string are actually returning a string object.

The post Releasing buffer memory when using DLL or LIB edition appeared first on Debenu Knowledge Base.


Generate PDF bookmarks from folder structure

$
0
0

One way to optimize the online viewing experience for PDF is to split larger documents into smaller files for faster downloading. By adding bookmarks, it’s possible to offer a seamless viewing experience across multiple documents for users. While it is also possible to join PDF documents using links, links are included in line with document content. Unlike links, bookmarks can be constantly accessible in viewers like Adobe Reader, Acrobat and Debenu PDF Tools Pro through the Bookmarks Panels in those applications. As a result, bookmarks are uniquely useful for quickly moving between PDF documents. Bookmarks can be manually created using Acrobat, one at a time, but the additional functionality of Debenu PDF Aerialist can save a lot of time. Aerialist can quickly generate create an entire bookmark hierarchy based on a folder structure.

Here’s how to use Debenu PDF Aerialist to generate bookmarks from an existing folder structure:

1. In Acrobat, select Tools > Debenu PDF Aerialist 11 > Bookmarks > Add Bookmarks.

The Add Bookmarks Tool in Debenu PDF Aerialist.

Add Bookmarks Tool.

2. Click Import.

The Add Bookmarks dialog in Debenu PDF Aerialist.

The Add Bookmarks Dialog.

3. Select “From folder structure”.

The Import Bookmarks dialog in Debenu PDF Aerialist.

Import Bookmarks dialog.

4. Browse for and choose the appropriate folder.
5. Click OK.

List of bookmarks to be generated from folder structure.

Bookmarks to be generated from folder structure.

6. Click OK again to add these bookmarks to your PDF.

The post Generate PDF bookmarks from folder structure appeared first on Debenu Knowledge Base.

FireMonkey Compatibility

$
0
0

FireMonkey is a modern cross-platform GUI framework developed by Embarcadero Technologies for Delphi and C++ Builder.

The Delphi edition of Debenu Quick PDF Library is fully compatible with FireMonkey applications for Windows and Mac development through the Delphi IDE.

Debenu Quick PDF Library does not currently support iOS and Android.

The post FireMonkey Compatibility appeared first on Debenu Knowledge Base.

Error message: “XXXX was compiled with a different version of/from XXXX”

$
0
0

This general form of message in Delphi indicates a referencing error. In essence, it is produced when Delphi settings on the IDE or Project level contain references to multiple versions of the same library.

Specific examples include:

  • “Unit QuickPDF0724 was compiled with a different version of Printers.TPrinter”
  • “Unit QuickPDFExtra was compiled with a different version of System.AnsiStrings.AnsiCompareStr”
  • “System.AnsiString was compiled with a different version from DebenuPDFLibraryExtra”

The most important fact is that it is only possible to reference one version of each SDK (such as Debenu Quick PDF Library). This error will be produced whenever multiple versions of an SDK are referenced in the same project. As such, it is impossible, for example, to successfully compile a project that references both versions 10.13 and 10.14 of Debenu Quick PDF Library.

In addition, the Delphi edition of Debenu Quick PDF Library contains sets of DCU files intended for use with different development environments. These are organized into ZIP archives based on processor type (i.e., 32- or 64-bit) and Delphi version. By default, these ZIP archives will be located in: C:\Program Files\Debenu\PDF Library\

In order to address the problem, check your Delphi and/or project settings for references to Debenu Quick PDF Library. Ensure that these are not empty, refer to the same set of DCU files, and that this set is compatible with the development environment being used.

For the best results, Debenu recommends including all references to Debenu Quick PDF Library in the Library path.

The post Error message: “XXXX was compiled with a different version of/from XXXX” appeared first on Debenu Knowledge Base.

What is an “outline” for PDF?

$
0
0

In the context of PDF, an “outline” is better known as a “bookmark”. While “bookmark” is the more common term, this type of object is referred to in the PDF specification as an “outline”. While this can be confusing, the two terms denote the same thing.

While outlines/bookmarks have a range of uses, at its most basic, a PDF bookmark is a navigational aid similar to a physical bookmark. It is designed to stand out, sits outside the document content properties, and links to a specific location within the source document.

Due to their electronic nature, outlines/bookmarks can be more flexible than traditional physical bookmarks, however. In addition to linking to a specific location, a PDF bookmark allows the document creator to specify the destination view, which combines location, layout and zoom level. This allows PDF bookmarks to link to zoomed-in or zoomed-out views of specific images or diagrams.

Each bookmark is assigned one or more actions. While such actions can simply link to locations within the source document, they can also link to locations in other documents, launch web pages, submit forms, execute JavaScript or perform a range of other functions. Please see below for a selection of Knowledge Base articles about working with bookmarks.

The post What is an “outline” for PDF? appeared first on Debenu Knowledge Base.

Default page size for a new page in Debenu Quick PDF Library

$
0
0

Unless page size is otherwise specified, new pages created using Debenu Quick PDF Library will correspond to the Letter standard size. Respectively, this corresponds to:

  • 612.0 x 792.0 pt
  • 8.50 x 11.0 in
  • 215.9 x 297.4 mm
  • 21.857 x 27.937 cm

If this is not the desired page size, a new page size can be set manually using the SetPageDimensions function. Alternatively, standard sizes such as A3, A4, Legal, Tabloid or others can be quickly set using the SetPageSize function.

The post Default page size for a new page in Debenu Quick PDF Library appeared first on Debenu Knowledge Base.

Why you cannot combine Direct Access and Standard Functions

$
0
0

A selection of Debenu Quick PDF Library features can be accessed through Direct Access (DA) functions. The names of DA functions are similar to those of their equivalent standard functions, but begin the the prefix “DA”.

Direct Access functions require significantly less memory than standard functions. While standard functions load entire PDF files into memory, DA functions work with PDF files directly on the disk. As such, DA functions load only what is necessary to perform the required tasks into memory, which makes them much less resource-intensive than standard functions. The DA functions were originally added to the library to make working with large PDFs easier. Depending on circumstances, using the standard functions with large PDFs can consume a lot of memory, which can potentially choke workflows.

Since not all of the SDK’s functionality can be accessed via DA functions, it might be tempting to combine standard functions with DA functions when building a complete solution. Unfortunately, this is impossible, due to the fundamental differences in the way the two types of functions work with PDF files — i.e., with standard functions loading PDFs into memory and DA functions working directly with PDFs on the disk.

As a result of this difference, attempting to use the DA and standard functions together will mean that the functions will not work correctly.

A full listing of all Debenu Quick PDF Library’s Direct Access functions can be found in the page dedicated to the Direct Access function group.

The post Why you cannot combine Direct Access and Standard Functions appeared first on Debenu Knowledge Base.

Print existing PDF files to an installed printer

$
0
0

Debenu Quick PDF Library can print PDF files to an installed printer using the PrintDocument function. PDF files can be printed to any installed printer driver regardless of whether it is for a physical printer or a virtual printer such as Microsoft XPS Document Writer. There are a range of other printing related functions that can be used with the PrintDocument function for maximum flexibility.

If you want more granular control over printing options then you can use the custom printer functions.

The post Print existing PDF files to an installed printer appeared first on Debenu Knowledge Base.


Custom printing options

$
0
0

Debenu Quick PDF Library can print PDF files to installed physical printers (e.g. Lexmark S300 Series) or virtual printers (e.g. Microsoft XPS Document Writer). If you do not need granular control over the printer settings then you can use the PrintDocument and PrintOptions functions. However, if you need to control exactly what is happening when the document is printed then you can use the NewCustomPrinter and SetupCustomPrinter functions.

Here is some C# sample code which demonstrates how to use the custom printer functions to customize the printing options:

/* Create a custom printer and specify your own settings  */
 
// Load a sample file from the input folder
 
DPL.LoadFromFile("test.pdf", ""); 
 
// Create the custom printer
 
string CustomPrinter = DPL.NewCustomPrinter("Microsoft XPS Document Writer");
 
// Setup the settings for the customer printer
 
// Medium quality
 
DPL.SetupCustomPrinter(CustomPrinter, 5, 2); 
 
// Monochrome
 
DPL.SetupCustomPrinter(CustomPrinter, 6, 1); 
 
// Horizontal Duplex
 
DPL.SetupCustomPrinter(CustomPrinter, 7, 3);
 
// Configure print options
 
int iPrintOptions = DPL.PrintOptions(0, 0, "Printing Sample");
 
// Print the current document to the default printing 
// using the options as configured above
 
DPL.PrintDocument(CustomPrinter, 1, 1, iPrintOptions);

The post Custom printing options appeared first on Debenu Knowledge Base.

Can Debenu Quick PDF Library print PDF forms that use XFA form fields?

$
0
0

There are two types of PDF forms – XFA and AcroForms.

An XFA form will always have a corresponding AcroForm.

When getting/setting XFA form fields – Debenu Quick PDF library only changes the XML description of the fields in the PDF.

When setting the AcroForm fields, and appearance stream can be generated for the form fields which will allow them to be rendered or printed.

So Debenu Quick PDF Library can be used to set XFA form fields and if the PDF is opened in Acrobat the new values will be shown.

But to print an XFA form field the only solution is to find the corresponding AcroForm fields and set the value there too.

Here’s some code to help you determine the types of form fields used in the PDF.

1
2
3
4
5
6
if (FormFieldCount() <> 0) and (GetXFAFormFieldCount() <> 0) then
// PDF contains both AcroForm and XFA form fields
else if FormFieldCount() <> 0 then
// PDF contains AcroForm form fields
else if GetXFAFormFieldCount() <> 0 then
// PDF contains XFA form fields

If both FormFieldCount and GetXFAFormFieldCount return values greater than zero then the PDF contains both XFA and AcroForm form fields and you should update both sets of form fields accordingly in order to ensure that the printing of the PDF form is successful.

The post Can Debenu Quick PDF Library print PDF forms that use XFA form fields? appeared first on Debenu Knowledge Base.

Error: ActiveX component can’t create object

$
0
0

The following error message is shown sometimes when using ASP, VBScript, Microsoft Access, VBA and other technologies:

ActiveX component can’t create object

As the error message describes the ActiveX component can’t create the referenced object. This usually occurs when the ActiveX edition of Debenu Quick PDF Library has not been successfully registered using regsvr32 on the end users machine. The ActiveX must be registered with administrator privileges and it must be registered before you call it in the code, however, once it has been registered it can run under accounts with lesser privileges.

The post Error: ActiveX component can’t create object appeared first on Debenu Knowledge Base.

How PDF files are displayed

$
0
0

PDF is not itself a display format, but rather a container for content. Regardless of which specific technology is used, PDF files are prepared for display through a process known as “rendering”. As outlined in this blog post, this involves parsing PDF content and translating it into a form, such as an image, that can be readily displayed in a viewer. Rendering PDF content is also a required step before a PDF can be printed or saved into an image or other graphical format.

Regardless of the specific technology used, the following steps must be taken any time a PDF needs to be displayed:

  • Locate the page object in the PDF.
  • Extract the page’s content streams (one or more strings).
  • Parse the content stream to get the page description commands (these are similar to PostScript language commands).
  • The content streams commands refer to one or more resources (fonts, images, etc.) – these resource objects are located in the PDF and images are decoded and fonts are processed to obtain the glyph outlines.
  • As the page content is followed there are operations that adjust the user matrix which change the position, scaling and rotation.
  • These commands and/or objects collectively describe the page in mathematical terms and are then converted into an appropriate output. This can be either an image (using GDI+ in our case) or a different graphical language like EPS, EMF/WMF etc.
  • Text is simply a collection of shapes just like other graphic content.

It is possible to build PDF viewing software using only Debenu Quick PDF Library; however, the process is significantly more efficient, flexible and powerful when this is used in conjunction with the Debenu PDF Viewer SDK add-on.

The post How PDF files are displayed appeared first on Debenu Knowledge Base.

Working around the Delphi character limit for JavaScript strings

$
0
0

Problems can arise when working with longer JavaScript strings using Debenu Quick PDF Library. Essentially, these issues occur due to the nature of Delphi, the programming language in which Debenu Quick PDF Library is written. Delphi has a hard 255-character limit for string constants, which means that longer strings can’t be used in the standard way. The easiest workaround for this problem when inserting JavaScript into a PDF with the FormFieldJavaScriptAction function is to break the long string into multiple, shorter strings. An example of this is provided here:

LongString := 'app.alert("This is a Long message window ' +
  'which can be displayed because the string Literal is ' +
  'bigger than 255 characters long <spacefiller><spacefiller>' +
  '<spacefiller><spacefiller><spacefiller><spacefiller>' +
  '<spacefiller><spacefiller><spacefiller><spacefiller>' +
  '<spacefiller><spacefiller><spacefiller>!");'

The post Working around the Delphi character limit for JavaScript strings appeared first on Debenu Knowledge Base.

ASP.NET and Debenu Quick PDF Library

$
0
0

Debenu Quick PDF Library can be used in ASP.NET web projects to add rich PDF features to web apps. It works in much the same way as it does for regular desktop or server applications.

There’s some technical differences between an ASP.NET Web Site project and an ASP.NET Web Application project. We try to cover issues that might occur in each of these project types in this knowledge base.

A few tips before we get started:

  • Add C# or VB import class to App_Code folder which makes the class automatically accessible throughout the application. If you add it at the project level then it is not automatically compiled and accessible.
  • Use Server.MapPath to point to the DLL. After initializing the DLL make sure that the instanceID is not null. Incorrect paths, permissions issues, etc, can stop it from loading the library successfully.
  • If ASP.NET website set to target AnyCPU then whether it is targeting 32-bit or 64-bit can change when deploying to new machines which means if you’re referencing a 32-bit DLL on your local dev machine it may break when you deploy to a server and the website tries to compile as a 64-bit website.

http://www.codeproject.com/Articles/31557/A-Beginner-s-Guide-to-ASP-NET-Application-Folders

http://msdn.microsoft.com/en-us/library/t990ks23.aspx

The post ASP.NET and Debenu Quick PDF Library appeared first on Debenu Knowledge Base.

Generate Table of Contents (TOC) from folder structure

$
0
0

For faster downloading or online viewing, it can be helpful to split larger documents into smaller files — or alternatively, to avoid merging smaller documents in the first place. Regardless, keeping this content separate need not reduce the ease with which your content can be navigated. One option is to generate bookmarks based on the file and folder locations of the separate files. This can be accomplished using Debenu PDF Aerialist, and is outlined elsewhere in the knowledge base. Alternatively, separate documents can also be connected through a “Master” table of contents (TOC) that links each entry to the appropriate document. In fact, Aerialist can quickly generate create an entire, hierarchically organized TOC based on folder structure.

Here’s how to use Debenu PDF Aerialist to generate bookmarks from an existing folder structure:

1. In Acrobat, select Tools > Debenu PDF Aerialist 11 > Table of Contents.

Table of contents tool in Aerialist.

Table of contents tool

2. Under Type, select “Master”.

Picture of Build Table of Contents dialog with Master option highlighted.

Master option.

3. Select the desired text source.

Build table of contents dialog with text source options highlighted.

Text source options.

4. Configure the desired text format, options, page size and margins.

5. Click “Files” to select the files to be used to generate the table of contents.

Build TOC dialog with Files button highlighted.

Files button.

6. Select and arrange the desired files and folders.

File and folder selection interface.

File and folder selection interface.

7. Select the desired destination file and location for the new table of contents.

Build table of contents dialog with destination settings highlighted.

Destination settings.

8. Click Preview to review table of contents.

Table of Contents Preview interface.

Table of Contents Preview.

9. Assuming the preview looks correct, click on Build to generate your table of contents.

The post Generate Table of Contents (TOC) from folder structure appeared first on Debenu Knowledge Base.


Compare documents with Debenu PDF Aerialist and Acrobat

$
0
0

Debenu PDF Aerialist has been built to work in concert with Acrobat. As such, it is designed to work with the existing functionality of Acrobat, and avoids unnecessary feature duplication. One often-requested feature is the ability to scan through and compare documents. This is a great time-saver when trying to develop a version control workflow, and it removes the risk of the inevitable errors that stem from manual handling of this task. Luckily, comparing documents is straightforward using Acrobat’s Compare Documents feature.

Here’s how to compare documents using Acrobat:

1. In Acrobat’s Tools tab, select Document Processing > Compare Documents.

Compare Documents Tool in Acrobat's Tools tab.

Compare Documents Tool.

2. In the Compare Documents interface, select the desired documents and page ranges for comparison.

Compare Documents interface in Acrobat.

Compare Documents interface.

3. Select the document description.
4. If desired, check “Compare text only”.
5. Click OK.
6. This will generate a report that lists insertions, deletions, and other changes between the two documents.

A sample document comparison report.

Document comparison report.

The post Compare documents with Debenu PDF Aerialist and Acrobat appeared first on Debenu Knowledge Base.

Detecting empty pages

$
0
0

From time to time, it can be necessary to detect and process empty pages. For example, one might want to delete blank all pages or add a “This Page Intentionally Left Blank” stamp to each page. Nevertheless, detecting empty PDF pages can pose special challenges due to the nature of PDF files. Although PDF is often associated with formatted, paginated content, the internal structure does not contain the concept of a “page”, per se. Instead, a PDF is a container for objects that are tied together in various possible ways. When the PDF is accurately rendered, these elements are assembled into a whole that can be represented as the familiar paginated content most of us associate with PDF.

In order to detect empty pages, there are two possible approaches:

  1. Analyze every object in a PDF to identify to which page it belongs.
  2. Render each page as an image and then analyze those images (in your programming language of choice) to determine whether all pixels are white.

The first approach is potentially very resource-intensive, especially for complex PDF documents. This is likely to seriously hamper performance. Nevertheless, it can be used to detect both visible and invisible objects. By contrast, the second approach is far leaner, but will only search for visible objects. If a page includes content hidden in layers or page-level JavaScript, this will not be rendered. As such, the best solution depends on the types of documents being processed.

The post Detecting empty pages appeared first on Debenu Knowledge Base.

Reducing PDF File Size with Acrobat and Debenu PDF Aerialist

$
0
0

PDF can support the inclusion of any number of elements, including images, text, multimedia and various interactive objects such as forms. These all contribute to file size, however. Sometimes, it can be important to produce smaller files for easier emailing, uploading or downloading.

Between them, Acrobat and Debenu PDF Aerialist offer a wide range of functionality applicable to reducing file size. The rest of this article will offer some tips for Reducing file size using these tools.

Acrobat

Using the Save As command

During a normal Save, Acrobat appends any changes to a PDF file. These changes are invisible, but still contribute to file size. By contrast, using the Save As command (File > Save As) causes Acrobat to discard this information as it rewrites the PDF in the most efficient possible way. By default, this also enables Fast Web View. This allowing viewers to download each page as they read it rather than waiting for the entire document to download, improving the online viewing experience.

PDF Optimizer

The PDF Optimizer is integrated into the Acrobat Save As command (File > Save As). To access it, activate the Save As command and select “Adobe PDF Files, Optimized”. After that, clicking on the “Settings” button will open the PDF Optimizer interface. Saving as optimized PDF without modifying the settings will optimize your PDF according to its current settings, which may reduce file size. Regardless, it will still efficiently rewrite your PDF and discard appended changes. For more advanced users, modifying PDF Optimizer settings can result in larger space savings. This process can be informed by performing a space audit (see next point).

Audit space usage

PDF Optimizer allows users to evaluate the space used by the various elements included in a given PDF. This allows users to identify which objects occupy the most space. To access this feature, click on the “Audit space usage…” button in the top-right of the PDF Optimizer window. This video outlines how to find the button in Acrobat. This will produce a report that lists the amounts of space used by each type of content. This information can then be used to guide the strategies chosen to reduce file size.

Debenu PDF Aerialist

Links and Bookmarks

Aerialist can be used to audit links and bookmarks (Tools > Debenu PDF Aerialist 11 > Links > Audit Links), or to selectively delete all or only only dead links (Tools > Debenu PDF Aerialist 11 > Links > Delete Links) and bookmarks (Tools > Debenu PDF Aerialist 11 > Bookmarks > Delete Bookmarks).

Splitting PDFs

Perhaps more importantly, Aerialist can be used to intelligently split larger documents into separate PDF files that preserve fully-functional navigational elements between the newly separated documents (Tools > Debenu PDF Aerialist 11 > Content Assembly > Split).

Acrobat’s Action Wizard

If one seeks to optimize multiple documents from the same source, these steps (those in both Acrobat and Aerialist) can be configured in advance and run on large batches of files via Acrobat’s Action Wizard (Tools > Action Wizard).

The post Reducing PDF File Size with Acrobat and Debenu PDF Aerialist appeared first on Debenu Knowledge Base.

How to use rendering and printing add-on with Debenu Quick PDF Library

$
0
0

With version 10.13 of Debenu Quick PDF Library a new rendering and printing add-on was included which provides full support for transparency, shading patterns, tiling patterns and much more in PDF files.

This new rendering engine is part of the standard Debenu Quick PDF Library although it is a separate DLL which will need to be called from within the main library binary file.

The steps for installing and using this new rendering engine are provided below.

Steps

  1. Download and install the latest version of Debenu Quick PDF Library (if you haven’t already got it installed).
  2. Locate the Debenu PDF Library Renderer add-on (DebenuPDFRendererDLL1013.dll is 32-bit and DebenuPDFRenderer64DLL1013.dll is 64-bit). Typically located here: C:\Program Files (x86)\Debenu\PDF Library\Rendering and Printing Add-On
  3. In your code call the SetDPLRFileName function to specify the location of the DebenuPDFRendererDLL1015.dll binary file on your machine. Then call the SelectRenderer function and specify 3 as the value for the RendererID parameter to select the new Debenu PDF Library Renderer (DPLR).
  4. Now call one of the rendering functions such as RenderPageToDC as shown below or PrintDocument. All rendering and printing functions can be used with the new rendering and printing add-on.

Sample Code

Here’s some sample code in C# which demonstrates how to choose the new rendering engine and then render each page as an image.

DPL.LoadFromFile("Test.PDF", "");
 
double pw, ph;
double scale, sx, sy;
 
if ((DPL.PageRotation() % 180) == 0)
{
    pw = DPL.GetPageBox(2, 2);  // Width
    ph = DPL.GetPageBox(2, 3);  // Height
}
else
{
    pw = DPL.GetPageBox(2, 3);  // Rotated Height
    ph = DPL.GetPageBox(2, 2);  // Rotated Width
}
 
sx = pictureBox1.Width / pw;
sy = pictureBox1.Height / ph;
 
scale = Math.Min(sx, sy);
 
int page = 1;
 
Bitmap b = new Bitmap((int)pictureBox1.Width, (int)pictureBox1.Height, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(b))
{
    IntPtr dc = g.GetHdc();
 
	// Point to the new DPLR DLL
    int SetDPLRVal = DPL.SetDPLRFileName(@"C:\Temp\RenderAGG\DebenuPDFRendererDLL1013.dll");
 
	// Select the new DPLR engine
    int SelectRendVal = DPL.SelectRenderer(3);
 
	// Render to DC
    DPL.RenderPageToDC(72 * scale, page, (int)dc);
    g.ReleaseHdc(dc);
    pictureBox1.Image = b;
}

The post How to use rendering and printing add-on with Debenu Quick PDF Library appeared first on Debenu Knowledge Base.

How to change link properties in PDF files

$
0
0

Adjusting the properties of links, such as appearance and destination zoom individually can be time-consuming and prone to error. In some circumstances, such as when preparing documents for eCTD submission, setting the correct link properties can be extremely important.

Debenu PDF Aerialist can be used to set the properties of all links in a document or specified subsets of links.

Here’s how:

1. In Acrobat, select Tools > Debenu PDF Aerialist 11 > Links.

Links functions in Aerialist.

Links functions in Aerialist.

2. Click Set Link(s) Properties.

Set Link(s) Properties in menu.

Set Link(s) Properties in menu.

3. Select the range of links or pages to be modified.

Set Link Properties dialog.

Set Link Properties dialog.

4. Configure the desired Link Magnification, Appearance and Size properties.

Link Magnification settings.

Link Magnification settings.

5. Click OK.

The post How to change link properties in PDF files appeared first on Debenu Knowledge Base.

Viewing all 123 articles
Browse latest View live