PDF View Macro fails to render some PDF files

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 8.5.0, 8.3.2, 8.4.2, 7.19.14
    • Component/s: Macros - Other Macros
    • None
    • 2
    • Severity 3 - Minor

      Problem

      View PDF Macro does not render some PDF files.

      This could be replicated using some exported PDFs from Google Chrome, like from atlassian.com
      This could affect other PDFs too.

      Environment

      Tested this on Confluence DC 7.19.14 , 8.3.2, 8.4.2 and 8.5

      Steps to Reproduce

      • Access a web page using Google Chrome.
      • Select File > Print > Save the page as PDF.
      • Add this PDF as an attachment to a page.
      • Use the PDF view macro and select the PDF you attached.
      • Publish the page.

      No exception is seen on logs by default, but if sandbox debug is enabled we can see the below java.lang.NullPointerException:

      2023-09-19 17:17:10,653 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: Doing thumbnail generation for: /var/atlassian/application-data/confluence/temp/840624859825133428.tmp with page 0
      2023-09-19 17:17:10,654 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: With input params. Page Number = 0, ,maxWidth = 2147483647, maxHeight = 2147483647
      2023-09-19 17:17:10,704 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: java.lang.NullPointerException
      2023-09-19 17:17:10,705 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.font.PDFFontDescriptor.<init>(PDFFontDescriptor.java:106)
      2023-09-19 17:17:10,705 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.font.PDFFont.getFont(PDFFont.java:137)
      2023-09-19 17:17:10,705 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.PDFParser.getFontFrom(PDFParser.java:1170)
      2023-09-19 17:17:10,706 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.PDFParser.iterate(PDFParser.java:719)
      2023-09-19 17:17:10,706 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.BaseWatchable.run(BaseWatchable.java:101)
      2023-09-19 17:17:10,706 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.BaseWatchable.execute(BaseWatchable.java:263)
      2023-09-19 17:17:10,706 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.BaseWatchable.go(BaseWatchable.java:197)
      2023-09-19 17:17:10,706 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.PDFFile.getPage(PDFFile.java:1566)
      2023-09-19 17:17:10,707 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.PdfConversionSupport.generateThumbnailDirect(PdfConversionSupport.java:152)
      2023-09-19 17:17:10,707 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.SandboxPdfThumbnailTask.apply(SandboxPdfThumbnailTask.java:69)
      2023-09-19 17:17:10,707 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.SandboxPdfThumbnailTask.apply(SandboxPdfThumbnailTask.java:29)
      2023-09-19 17:17:10,707 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.impl.util.sandbox.SandboxServerWorker.processNextMessage(SandboxServerWorker.java:53)
      2023-09-19 17:17:10,708 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.impl.util.sandbox.SandboxServer.run(SandboxServer.java:36)
      2023-09-19 17:17:10,708 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.impl.util.sandbox.SandboxServer.main(SandboxServer.java:56)
      2023-09-19 17:17:10,708 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: java.lang.NullPointerException
      2023-09-19 17:17:10,708 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.font.PDFFontDescriptor.<init>(PDFFontDescriptor.java:106)
      2023-09-19 17:17:10,708 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.font.PDFFont.getFont(PDFFont.java:137)
      2023-09-19 17:17:10,709 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.PDFParser.getFontFrom(PDFParser.java:1170)
      2023-09-19 17:17:10,710 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.PDFParser.iterate(PDFParser.java:719)
      2023-09-19 17:17:10,711 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.BaseWatchable.run(BaseWatchable.java:101)
      2023-09-19 17:17:10,711 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.BaseWatchable.execute(BaseWatchable.java:263)
      2023-09-19 17:17:10,711 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.BaseWatchable.go(BaseWatchable.java:197)
      2023-09-19 17:17:10,712 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.sun.pdfview.PDFFile.getPage(PDFFile.java:1566)
      2023-09-19 17:17:10,712 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.PdfConversionSupport.renderPage(PdfConversionSupport.java:213)
      2023-09-19 17:17:10,713 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.PdfConversionSupport.generateThumbnailDirect(PdfConversionSupport.java:154)
      2023-09-19 17:17:10,713 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.SandboxPdfThumbnailTask.apply(SandboxPdfThumbnailTask.java:69)
      2023-09-19 17:17:10,713 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.plugins.conversion.convert.image.SandboxPdfThumbnailTask.apply(SandboxPdfThumbnailTask.java:29)
      2023-09-19 17:17:10,714 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.impl.util.sandbox.SandboxServerWorker.processNextMessage(SandboxServerWorker.java:53)
      2023-09-19 17:17:10,714 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.impl.util.sandbox.SandboxServer.run(SandboxServer.java:36)
      2023-09-19 17:17:10,714 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: \tat com.atlassian.confluence.impl.util.sandbox.SandboxServer.main(SandboxServer.java:56)
      2023-09-19 17:17:10,765 INFO [sandbox-logger] [impl.util.sandbox.ConversionSandbox] lambda$buildConfig$0 worker1: Done thumbnail generation for: 840624859825133428.tmp with page 0  

      Expected Results

      The PDF renders fine.

      Actual Results

      PDF preview is garbled and unreadable.

      Workaround

      Solution 1:

      • Export the PDF again using another application 

      Solution 2:

      • Open the PDF in another software like Adobe Reader or Safari.
      • Print the file as a PDF again.

      Using "Save as" will not fix the PDF.

      Solution 3: 

      • Although it has fewer features it is possible to preview the PDF using the View File macro.

        1. altassian mozilla.pdf
          197 kB
        2. atlassian chrome.pdf
          377 kB
        3. image-2023-09-20-10-10-36-402.png
          image-2023-09-20-10-10-36-402.png
          31 kB
        4. image-2023-09-20-10-11-48-097.png
          image-2023-09-20-10-11-48-097.png
          68 kB

            Assignee:
            Unassigned
            Reporter:
            Filipe Rodrigues
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: