Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-3612

ScratchFileBuffer not closed message related to overlay.overlay(overlayGuide);

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Not A Bug
    • 2.0.3, 3.0.0 PDFBox
    • None
    • None
    • None
    • Windows 7 Professional, Eclipse, JDK 1.8

    Description

      I'd like to add a watermark to a PDF and have the following code:

      	@Test
      	public void testAddWatermark() {
      	    try {
      	        // test runs well with n < 3; with n < 10 and w/o overlay.close() warnings are shown
      	        for (int n = 0; n < 10; n++) { 
      	            PDDocument pdfDocument = PDDocument.load(new File("C:\\data\\somePdfFile.pdf"));
      	            PDDocument pdfCopy = Pdf.extract(pdfDocument, 1, 1);
      	            PDDocument watermarkCopy = Pdf.addWatermark(pdfCopy);
      			    
      	            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
      
      	            // save as bytes; exception in comment thrown here if overlay.close() is called
      	            watermarkCopy.save(byteArrayOutputStream); 
      	            byteArrayOutputStream.close();
      				
      	            watermarkCopy.close();
      	            pdfCopy.close();
      	            pdfDocument.close();
      	        }	
      	    } catch (Exception e) {
      		e.printStackTrace();
      	    }	 
      	}
      
      	....
      
      	public static PDDocument addWatermark(PDDocument document) {
      	    try {
      	        HashMap<Integer, String> overlayGuide = new HashMap<Integer, String>();
      	        
      	        for(int no = 0; no < document.getNumberOfPages(); no++) {
      	        	overlayGuide.put(no +1, "C:\\data\\watermark.pdf");
      	        }
      	    
      	        Overlay overlay = new Overlay();
      	        overlay.setInputPDF(document);
      	        overlay.setOverlayPosition(Overlay.Position.FOREGROUND);
      	        
      	        PDDocument result = overlay.overlay(overlayGuide);
      
      	        // overlay.close();
      	        
      	        return result;
      	        
      	    } catch (Exception e) {
      		log.error("Error while adding watermark: " +e.getMessage(), e);
      			
      		return document;
      	    }
      	}

      overlay.overlay(...) seems to cause lot's of warnings:

      ...
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] WARN  [org.apache.pdfbox.cos.COSDocument] Warning: You did not close a PDF Document 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] WARN  [org.apache.pdfbox.cos.COSDocument] Warning: You did not close a PDF Document 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      [2016-12-02-09:55:44] DEBUG [org.apache.pdfbox.io.ScratchFileBuffer] ScratchFileBuffer not closed! 
      ...
      

      Is there anything, that can be done to fix this issue? I tried to close anything that is closable - but the issue remains. Or can it safely be ignored?

      Attachments

        Activity

          People

            Unassigned Unassigned
            andre.heuner@trinimon.de André Heuner
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: