ImageGear .NET - Updated
SaveCompressed(Stream,ImGearCompressOptions) Method
Example 




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

Parameters

stream
Stream object to save to. Only FileStream and MemoryStream are currently supported.
compressOptions
Options used for compressing PDF document.
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.

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