GdPicture.NET.14.API
GdPicture14 Namespace / GdPicturePDF Class / SaveToStream Method / SaveToStream(Stream,Boolean,Boolean) Method
A Stream object where the currently loaded PDF document will be saved to. This Stream object must be initialized before it can be sent into this method and it should remain open for subsequent use.
Specifies if the toolkit has to pack the current document before the save process to reduce its size.

Set this parameter to true if you want to pack the PDF document before saving. Please note that the whole saving process can be as a result slower with some documents.

If you set this parameter to false, the PDF document will remain unpacked after the save process.

Specifies if the PDF document should be linearized when saving, that means if the PDF document should enable Fast Web View mode.

Set this parameter to true to enable optimized save for Fast Web View mode.

If you set this parameter to false, your PDF will not be optimized for Fast Web View mode when saving.

Example





In This Topic
SaveToStream(Stream,Boolean,Boolean) Method
In This Topic
Packs, linearizes and saves the currently loaded PDF document to an instantiated Stream object according to what you have specified.
Syntax
'Declaration
 
Public Overloads Function SaveToStream( _
   ByVal Stream As Stream, _
   ByVal PackDocument As Boolean, _
   ByVal Linearize As Boolean _
) As GdPictureStatus
public GdPictureStatus SaveToStream( 
   Stream Stream,
   bool PackDocument,
   bool Linearize
)
public function SaveToStream( 
    Stream: Stream;
    PackDocument: Boolean;
    Linearize: Boolean
): GdPictureStatus; 
public function SaveToStream( 
   Stream : Stream,
   PackDocument : boolean,
   Linearize : boolean
) : GdPictureStatus;
public: GdPictureStatus SaveToStream( 
   Stream* Stream,
   bool PackDocument,
   bool Linearize
) 
public:
GdPictureStatus SaveToStream( 
   Stream^ Stream,
   bool PackDocument,
   bool Linearize
) 

Parameters

Stream
A Stream object where the currently loaded PDF document will be saved to. This Stream object must be initialized before it can be sent into this method and it should remain open for subsequent use.
PackDocument
Specifies if the toolkit has to pack the current document before the save process to reduce its size.

Set this parameter to true if you want to pack the PDF document before saving. Please note that the whole saving process can be as a result slower with some documents.

If you set this parameter to false, the PDF document will remain unpacked after the save process.

Linearize
Specifies if the PDF document should be linearized when saving, that means if the PDF document should enable Fast Web View mode.

Set this parameter to true to enable optimized save for Fast Web View mode.

If you set this parameter to false, your PDF will not be optimized for Fast Web View mode when saving.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
The output stream should be open for writing and should be closed/disposed of by the user as well.

The pack mode is an option allowing the removal of any unused PDF objects and to better compress some other objects before saving the PDF document. Using this option leads to recreation of a brand new PDF document by cloning all existing pages of the current document onto a brand new document. You can also combine this parameter with the standard compression mechanism as well as you can benefit from using the GdPicturePDF.RemoveUnusedResources method to eliminate all unused resources from your saved PDF document.

Fast Web View restructures a PDF document for page-at-a-time downloading from web. With Fast Web View, the web server only sends the requested page, rather than the entire PDF. This is especially important with large documents that can take a long time to download.

This method requires the Linearization & PDF Processing component to run.

Example
How to linearize and save the PDF document using a stream.
Dim caption As String = "Example: SaveToStream"
Dim gdpicturePDF As New GdPicturePDF()
If gdpicturePDF.LoadFromFile("test.pdf", False) = GdPictureStatus.OK Then
    gdpicturePDF.EnableCompression(True)
    If gdpicturePDF.GetStat() <> GdPictureStatus.OK Then
        GoTo [error]
    End If
            
    Dim oFileStream As New System.IO.FileStream("test_Stream_compressed_pack_unlinearize.pdf", System.IO.FileMode.Create)
    If gdpicturePDF.SaveToStream(oFileStream, True, False) = GdPictureStatus.OK Then
        MessageBox.Show("Saving the file to a stream with compression, with packing but without linearization has been successful.", caption)
    End If
    oFileStream.Dispose()
            
    oFileStream = New System.IO.FileStream("test_Stream_compressed_pack_linearize.pdf", System.IO.FileMode.Create)
    If gdpicturePDF.SaveToStream(oFileStream, True, True) = GdPictureStatus.OK Then
        MessageBox.Show("Saving the file to a stream with compression, with packing and with linearization has been successful.", caption)
    End If
    oFileStream.Dispose()
    gdpicturePDF.CloseDocument()
            
    oFileStream = New System.IO.FileStream("test_Stream_compressed_pack_unlinearize.pdf", System.IO.FileMode.Open)
    If gdpicturePDF.LoadFromStream(oFileStream, False) = GdPictureStatus.OK Then
        Dim isLinearized As Boolean = gdpicturePDF.IsLinearized()
        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
            If isLinearized Then
                MessageBox.Show("This file is linearized.", caption)
            Else
                'This should be the correct case.
                MessageBox.Show("This file is not linearized.", caption)
            End If
        End If
    End If
    oFileStream.Dispose()
    gdpicturePDF.CloseDocument()
            
    oFileStream = New System.IO.FileStream("test_Stream_compressed_pack_linearize.pdf", System.IO.FileMode.Open)
    If gdpicturePDF.LoadFromStream(oFileStream, False) = GdPictureStatus.OK Then
        Dim isLinearized As Boolean = gdpicturePDF.IsLinearized()
        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
            If isLinearized Then
                'This should be the correct case.
                MessageBox.Show("This file is linearized.", caption)
            Else
                MessageBox.Show("This file is not linearized.", caption)
            End If
        End If
    End If
    oFileStream.Dispose()
Else
    MessageBox.Show("The file can't be loaded.", caption)
End If
[error]:
gdpicturePDF.Dispose()
string caption = "Example: SaveToStream";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("test.pdf", false) == GdPictureStatus.OK)
{
    gdpicturePDF.EnableCompression(true);
    if (gdpicturePDF.GetStat() != GdPictureStatus.OK) goto error;
            
    System.IO.FileStream oFileStream = new System.IO.FileStream("test_Stream_compressed_pack_unlinearize.pdf", System.IO.FileMode.Create);
    if (gdpicturePDF.SaveToStream(oFileStream, true, false) == GdPictureStatus.OK)
    {
        MessageBox.Show("Saving the file to a stream with compression, with packing but without linearization has been successful.", caption);
    }
    oFileStream.Dispose();
            
    oFileStream = new System.IO.FileStream("test_Stream_compressed_pack_linearize.pdf", System.IO.FileMode.Create);
    if (gdpicturePDF.SaveToStream(oFileStream, true, true) == GdPictureStatus.OK)
    {
        MessageBox.Show("Saving the file to a stream with compression, with packing and with linearization has been successful.", caption);
    }
    oFileStream.Dispose();
    gdpicturePDF.CloseDocument();
            
    oFileStream = new System.IO.FileStream("test_Stream_compressed_pack_unlinearize.pdf", System.IO.FileMode.Open);
    if (gdpicturePDF.LoadFromStream(oFileStream, false) == GdPictureStatus.OK)
    {
        bool isLinearized = gdpicturePDF.IsLinearized();
        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
        {
            if (isLinearized)
            {
                MessageBox.Show("This file is linearized.", caption);
            }
            else
            {
                //This should be the correct case.
                MessageBox.Show("This file is not linearized.", caption);
            }
        }
    }
    oFileStream.Dispose();
    gdpicturePDF.CloseDocument();
            
    oFileStream = new System.IO.FileStream("test_Stream_compressed_pack_linearize.pdf", System.IO.FileMode.Open);
    if (gdpicturePDF.LoadFromStream(oFileStream, false) == GdPictureStatus.OK)
    {
        bool isLinearized = gdpicturePDF.IsLinearized();
        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
        {
            if (isLinearized)
            {
                //This should be the correct case.
                MessageBox.Show("This file is linearized.", caption);
            }
            else
            {
                MessageBox.Show("This file is not linearized.", caption);
            }
        }
    }
    oFileStream.Dispose();
}
else
{
    MessageBox.Show("The file can't be loaded.", caption);
}
error:
gdpicturePDF.Dispose();
See Also