ImageGear .NET v25.0 - Updated
SaveCompressed(Stream) Method
Example 




ImageGear.Formats.Pdf Assembly > ImageGear.Formats.PDF Namespace > ImGearPDFDocument Class > SaveCompressed Method : SaveCompressed(Stream) Method
Stream object to save to. Only FileStream and MemoryStream are currently supported.
Save highly-compressed PDF document to a System.IO.Stream object.
Syntax
'Declaration
 
Public Overloads Sub SaveCompressed( _
   ByVal stream As Stream _
) 
'Usage
 
Dim instance As ImGearPDFDocument
Dim stream As Stream
 
instance.SaveCompressed(stream)
public void SaveCompressed( 
   Stream stream
)
public: void SaveCompressed( 
   Stream* stream
) 
public:
void SaveCompressed( 
   Stream^ stream
) 

Parameters

stream
Stream object to save to. Only FileStream and MemoryStream are currently supported.
Exceptions
ExceptionDescription
Thrown when stream is not writable.
Remarks

ImageGear .NET improves the overall size of saved PDF documents by reducing or removing data structures in the PDF document, specifically:

WARNING: Re-compressing Images with JBIG2 will invalidate PDF/X compliant documents.

WARNING: Removing embedded Standard Type 1 Fonts will invalidate PDF/X compliant documents.

WARNING: Removing embedded Standard Type 1 Fonts will invalidate PDF/A compliant documents when visible text is affected.

File size improvements will vary with each PDF file. In some cases, file size reduction is dramatic. Re-saving an optimized PDF file is not expected to further reduce its size. Less frequently, PDF file size may increase due to metadata that is always written when PDF documents are saved. Unmodified PDF files that cannot be further reduced are returned unaltered.

Example
using System;
using System.IO;
using System.Text;

using ImageGear.Core;
using ImageGear.Formats;
using ImageGear.Windows.Forms;
using ImageGear.Formats.PDF;

public Stream SaveCompressedPDFtoStream(String inputFileName)
{
    // Load PDF document.
    ImGearPDFDocument pdfDocument = null;
    using (Stream fileStream = new FileStream(inputFileName, FileMode.Open,
       FileAccess.Read, FileShare.Read))
    {
        pdfDocument = (ImGearPDFDocument)ImGearFileFormats.LoadDocument(fileStream);
    }
 
    // Save compressed PDF document to stream.
    Stream stream = new MemoryStream();
    pdfDocument.SaveCompressed(stream);
    return stream;
}
Imports System
Imports System.IO
Imports System.Text

Imports ImageGear.Core
Imports ImageGear.Formats
Imports ImageGear.Formats.PDF

Public Function SaveCompressedPDFtoStream(inputFileName As String) As Stream
 
    ' Load PDF document.
    Dim pdfDocument As ImGearPDFDocument
    Using fileStream As New FileStream(inputFileName, FileMode.Open, FileAccess.Read,
            FileShare.Read)
        pdfDocument = DirectCast(ImGearFileFormats.LoadDocument(fileStream),
                ImGearPDFDocument)
    End Using


    ' Save compressed PDF document to stream.
    Dim stream As Stream = New MemoryStream()
    pdfDocument.SaveCompressed(stream)
    Return stream

End Function
See Also

Reference

ImGearPDFDocument Class
ImGearPDFDocument Members
Overload List