Class MemoryLimitsAwareHandler

java.lang.Object
com.itextpdf.text.pdf.MemoryLimitsAwareHandler

public class MemoryLimitsAwareHandler extends Object
A MemoryLimitsAwareHandler handles memory allocation and prevents decompressed pdf streams from occupation of more space than allowed.
  • Constructor Details

    • MemoryLimitsAwareHandler

      public MemoryLimitsAwareHandler()
      Creates a MemoryLimitsAwareHandler which will be used to handle decompression of pdf streams. The max allowed memory limits will be generated by default.
    • MemoryLimitsAwareHandler

      public MemoryLimitsAwareHandler(long documentSize)
      Creates a MemoryLimitsAwareHandler which will be used to handle decompression of pdf streams. The max allowed memory limits will be generated by default, based on the size of the document.
      Parameters:
      documentSize - the size of the document, which is going to be handled by iText.
  • Method Details

    • getMaxSizeOfSingleDecompressedPdfStream

      public int getMaxSizeOfSingleDecompressedPdfStream()
      Gets the maximum allowed size which can be occupied by a single decompressed pdf stream.
      Returns:
      the maximum allowed size which can be occupied by a single decompressed pdf stream.
    • setMaxSizeOfSingleDecompressedPdfStream

      public MemoryLimitsAwareHandler setMaxSizeOfSingleDecompressedPdfStream(int maxSizeOfSingleDecompressedPdfStream)
      Sets the maximum allowed size which can be occupied by a single decompressed pdf stream. This value correlates with maximum heap size. This value should not exceed limit of the heap size. iText will throw an exception if during decompression a pdf stream with two or more filters of identical type occupies more memory than allowed.
      Parameters:
      maxSizeOfSingleDecompressedPdfStream - the maximum allowed size which can be occupied by a single decompressed pdf stream.
      Returns:
      this MemoryLimitsAwareHandler instance.
    • getMaxSizeOfDecompressedPdfStreamsSum

      public long getMaxSizeOfDecompressedPdfStreamsSum()
      Gets the maximum allowed size which can be occupied by all decompressed pdf streams.
      Returns:
      the maximum allowed size value which streams may occupy
    • setMaxSizeOfDecompressedPdfStreamsSum

      public MemoryLimitsAwareHandler setMaxSizeOfDecompressedPdfStreamsSum(long maxSizeOfDecompressedPdfStreamsSum)
      Sets the maximum allowed size which can be occupied by all decompressed pdf streams. This value can be limited by the maximum expected PDF file size when it's completely decompressed. Setting this value correlates with the maximum processing time spent on document reading iText will throw an exception if during decompression pdf streams with two or more filters of identical type occupy more memory than allowed.
      Parameters:
      maxSizeOfDecompressedPdfStreamsSum - he maximum allowed size which can be occupied by all decompressed pdf streams.
      Returns:
      this MemoryLimitsAwareHandler instance.