PDF Utilities

Overview

This plug-in has the following smart services:

  • Header and Footer - To add header and footer in the PDF document.
  • Add Image - To add image to the PDF document.
  • Watermark Text - To add watermark to the text in the PDF document.
  • Rotate Page in PDF - To rotate the page in the PDF document.
  • Merge PDF - To merge the data in the PDF document.
  • Add Page Number in PDF - To add page number in the PDF document.
  • Add Page Number in PDF with Alignment - To add page number with alignment in the PDF document.
  • Add Image To PDF - To add image in the PDF document.
  • Split PDF By Range - To split the PDF by range.
  • Split PDF By Number - To split the PDF by Number
  • Split PDF By Specific Page - To split the PDF by specific page.
Anonymous
  •   
    We are traying to have a page numbering in the following format :"Page 1 of 2" , "Page 2 of 2"
    in order to achieve this we used this format ( "Page " & { ac!StartPage + 1 } & " of " & pv!pageCount) inside the "Page Format Text",but we are not getting the same result below on all pages

  • Hi,

    Just an update on that. After the upgrade to 24.4, I had version 4 the plugin and I faced the error above. Then I upgraded the plugin to version 9.0.4 but still got the error. So, I requested a site restart and now things are working. It seems to be some java cache issue with plugin deployment process.

  • Hello,

    I'm facing issue using the add image to pdf/insert image in pdf on Appian 24.4 version. Both smart service trows the same error. I'm using version 9.0.4

    Tomcat log shows this entry:

    Exception in thread "ThreadPoolTaskExecutor-7533" java.lang.NoClassDefFoundError: javax/imageio/stream/ImageInputStream at com.github.jaiimageio.impl.plugins.pnm.PNMImageReaderSpi.canDecodeInput(PNMImageReaderSpi.java:101) at java.desktop/javax.imageio.ImageIO$CanDecodeInputFilter.filter(ImageIO.java:573) at java.desktop/javax.imageio.spi.FilterIterator.advance(ServiceRegistry.java:873) at java.desktop/javax.imageio.spi.FilterIterator.<init>(ServiceRegistry.java:867) at java.desktop/javax.imageio.spi.ServiceRegistry.getServiceProviders(ServiceRegistry.java:516) at java.desktop/javax.imageio.ImageIO.getImageReaders(ImageIO.java:654) at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1460) at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1317) at org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.createFromFileByExtension(PDImageXObject.java:271) at org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.createFromFile(PDImageXObject.java:208) at com.vuram.plugins.pdfutilities.InsertImageToPdf.run(InsertImageToPdf.java:143) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:129) at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:129) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:123) at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:30) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:123) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:110) at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:23) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:89) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:72) at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143) at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68) at com.appiancorp.process.engine.ActivityRequest.executeOuter(ActivityRequest.java:41) at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:125) at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36) at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110) at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.lang.ClassNotFoundException: Unable to load class 'javax.imageio.stream.ImageInputStream' because the bundle wiring for pdftools is no longer valid.
  • With the above example, how would you get the unique page number for each page? I am trying to implement somthing like "Page "&{ac!StartPage+1}&" of "&getnumberofpages(pv!uploadedFile), but I cannot seem to get the unique page figured out.

  • v9.0.4 Release Notes
    • Managed files in Insert Image Smart services.
  • v9.0.3 Release Notes
    • Closed the documents created in Finally block.

  • v9.0.2 Release Notes
    • Minor Bug fixes

  • v9.0.1 Release Notes
    • Fixed Header and Footer visibility issue in ‘Add Header Footer’ Smart service.
  • Hi Oliver,

    Please open a Support case and we can provide you the latest version compatible for 22.1. 

    Thanks,

    Daniel 

  • Hi Vuram team,

    Thank you for making this plugin available, and for the consistent updates - it's a really useful utility!

    I'm working with a team that are on a much older version of Appian and upgrading will take a while. Is it possible to get an older version of the PDF Utilities plugin that was built for 22.1 please (such as 7.1.3)? I'm aware we'll lose the later enhancements you've made and that it's available as-is - we won't expect any support on that version of the plugin.

    All the best,

    Oliver