PDF Tools

Overview

Contains multiple Smart Services and Functions for interacting with PDF Documents.

Key Features & Functionality

Smart Services:

  • Merge PDF - Merges multiple PDF documents into a single document.
  • Extract PDF Pages - Extracts a range of pages from an existing PDF into a new PDF.
  • Fill PDF - Populates the fields of a PDF Form and optionally flattens it disallow further changes.
  • Create PDF Content - Allows text to be added to a PDF with control over the style, position, and angle. An existing PDF can be updated or a new one created from scratch.
  • Convert PDF to Image - Creates an array of images or a multi-page tiff from a PDF.
  • Compress PDF - Compresses the images in the PDF to make it smaller.
  • Un-protect and Copy PDF - Using the document password, create an un-protected copy of a protected PDF.
  • Convert Image to PDF - Creates a PDF starting from one or many images. It also supports multi-page tiff images.
  • Encrypt PDF - Encrypts an existing PDF with a password.

Functions:

  • Get PDF Metadata - Retrieves metadata on the PDF: page count, title, author, security, encryption, etc.
  • Get PDF Text - Retrieves the text content from a PDF.
  • Get PDF Form Fields - Retrieves the populated form field values of an unflattened PDF.
  • Get PDF Signature Fields - Retrieves the populated signature field values of an unflattened PDF.
  • Get PDF Bookmarks - Retrieves the raw list of bookmarks in the PDF.

Anonymous
  • Yes, we came across the same issue. We are looking to upgrade our platform and it would be great if we can get an update on when the new version of the plugin will be available that doesn't reference the deprecated APIs.

  • It is planned a new version for this plugin?
    The heath check report is saying that is using deprecated API's.
    In a future this can be a problem. 

    "PDF Tools (pdftools) references deprecated Appian APIs
    [deprecated] com.appiancorp.suiteapi.content.ContentOutputStream.close()
    [deprecated] com.appiancorp.suiteapi.content.ContentOutputStream.getContentId()
    [deprecated] com.appiancorp.suiteapi.content.ContentService.getInternalFilename(java.lang.Long)
    [deprecated] com.appiancorp.suiteapi.content.ContentService.upload(com.appiancorp.suiteapi.knowledge.Document, java.lang.Integer)
    "

  • v2.4.2 Release Notes
    • Updated apache pdfbox library

  • Hello,

    I was having issues parsing a pdf.

    The pdf contains data in a table format with some blank data cells. When using getpdftext(), the delimiter between 2 adjacent cells and between 2 cells with a missing cell value in between is the same (<space>). Because of this, I'm unable to map the cell data with the correct column header.


    Any help is much appreciated. Thanks!

  • not really, but the sense of this plugin is not really meant to compress PDF files.Its meant especially meant to convert files. 
    The single exception are images in PDF

  • Hello,

    I have a PDF file that was converted from word to PDF using the Aspose convert Docx to PDF plugin. The size of the PDF file is 3.11MB, I then used this plugin to attempt to compress the PDF, which after doing so, the file size became 5.11MB. Any thoughts of why that is?

  • How can I add page numbers in existing pdf using create Pdf content

  • Hi Team,

    I am facing the below error. can someone help me to fix this error?

    2023-05-16 12:47:24,886 [Appian Plugin Hot Deploy] ERROR com.atlassian.plugin.manager.DefaultPluginManager - There was an error loading the descriptor 'Pdftoolsfunctions' of plugin 'pdftools'. Disabling.
    com.atlassian.plugin.PluginException: com.appiancorp.suiteapi.common.exceptions.AppianException: The Function Module com.appiancorp.ps.pdftools.PDFToolsFunctions could not be installed due to invalid type: Invalid Type: Unsupported type [Lcom.appiancorp.ps.pdftools.types.PdfSignatureField;. Use the @Type annotation to indicate the type of a function parameter. The deprecated ’type’ attribute for the @Parameter annotation has been removed. (APNX-1-4104-008)
    at com.appiancorp.plugins.ExceptionHandlingModuleDescriptor.enabled(ExceptionHandlingModuleDescriptor.java:68)
    at com.atlassian.plugin.manager.DefaultPluginManager.notifyModuleEnabled(DefaultPluginManager.java:2039)
    at com.appiancorp.plugins.AppianPluginManager.notifyModuleEnabled(AppianPluginManager.java:78)
    at com.atlassian.plugin.manager.DefaultPluginManager.enableConfiguredPluginModule(DefaultPluginManager.java:1780)
    at com.atlassian.plugin.manager.DefaultPluginManager.enableConfiguredPluginModules(DefaultPluginManager.java:1757)
    at com.atlassian.plugin.manager.DefaultPluginManager.enableDependentPlugins(DefaultPluginManager.java:1263)
    at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:1218)
    at com.atlassian.plugin.manager.DefaultPluginManager.scanForNewPlugins(DefaultPluginManager.java:927)
    at com.appiancorp.plugins.AppianPluginManager.scanForNewPlugins0(AppianPluginManager.java:204)
    at com.appiancorp.plugins.AppianPluginManager.scanForNewPlugins(AppianPluginManager.java:196)
    at com.appiancorp.plugins.AppianPluginManager.scanResultIfNotDeployingPlugins(AppianPluginManager.java:184)
    at com.appiancorp.plugins.HotDeployerRunnable.run(HotDeployerRunnable.java:30)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Caused by: com.appiancorp.suiteapi.common.exceptions.AppianException: The Function Module com.appiancorp.ps.pdftools.PDFToolsFunctions could not be installed due to invalid type: Invalid Type: Unsupported type [Lcom.appiancorp.ps.pdftools.types.PdfSignatureField;. Use the @Type annotation to indicate the type of a function parameter. The deprecated ’type’ attribute for the @Parameter annotation has been removed. (APNX-1-4104-008)
    at com.appiancorp.process.expression.ExpressionFunctionModuleDescriptor.enabledInternal(ExpressionFunctionModuleDescriptor.java:159)
    at com.appiancorp.plugins.ExceptionHandlingModuleDescriptor.enabled(ExceptionHandlingModuleDescriptor.java:66)
    ... 18 more
    Caused by: com.appiancorp.suiteapi.type.exceptions.InvalidTypeException: com.appiancorp.suiteapi.common.exceptions.AppianException: Invalid Type: Unsupported type [Lcom.appiancorp.ps.pdftools.types.PdfSignatureField; (APNX-1-4047-000)
    at com.appiancorp.type.util.AppianTypeResolver.getRestrictedType(AppianTypeResolver.java:155)
    at com.appiancorp.type.util.AppianTypeResolver.inferAppianType(AppianTypeResolver.java:94)
    at com.appiancorp.type.util.AppianTypeResolver.inferReturnType(AppianTypeResolver.java:71)
    at com.appiancorp.process.expression.ExpressionFunctionModuleDescriptor.inferReturnType(ExpressionFunctionModuleDescriptor.java:203)
    at com.appiancorp.process.expression.ExpressionFunctionModuleDescriptor.enabledInternal(ExpressionFunctionModuleDescriptor.java:148)
    ... 19 more
    2023-05-16 12:47:24,889 [Appian Plugin Hot Deploy] ERROR com.appiancorp.plugins.LoggingPluginEventListener - Failed to enable Plug-in 'PDF Tools' (pdftools) version 2.4.1: 'The Function Module com.appiancorp.ps.pdftools.PDFToolsFunctions could not be installed due to invalid type: Invalid Type: Unsupported type [Lcom.appiancorp.ps.pdftools.types.PdfSignatureField;. Use the @Type annotation to indicate the type of a function parameter. The deprecated ’type’ attribute for the @Parameter annotation has been removed. (APNX-1-4104-008)'

  • Did you find the solution? I am getting the same error.

    Thanks In Advance.

  • Hi ,

    we are getting this error on reading a pdf document which is as below

    ]: Use PDType1CFont for FontFile3

    Can you help us in finding what the problem is