__init__ constructor

On this page

init

Initializes a new PreviewOptions instance that ensures the output stream is closed.

def __init__(self, create_page_stream):
    ...
Parameter Type Description
create_page_stream CreatePageStream Creates a stream for a specific page preview.

Example

    import os
    import groupdocs.watermark as gw
    import groupdocs.watermark.options as gwo

    output_dir = os.path.join(os.getcwd(), "preview")
    os.makedirs(output_dir, exist_ok=True)

    def create_page_stream(page_number: int):
        path = os.path.join(output_dir, f"page{page_number}.png")
        return open(path, "wb")

    def release_page_stream(page_number: int, stream):
        stream.close()

    with gw.Watermarker("sample.pdf") as watermarker:
        preview_options = gwo.PreviewOptions(create_page_stream, release_page_stream)
        preview_options.preview_format = gwo.PreviewOptions.PreviewFormats.PNG
        preview_options.page_numbers = [1, 2]
        watermarker.generate_preview(preview_options)
    ```

## __init__ {#create_page_stream-release_page_stream}

Initializes a new instance of [`PreviewOptions`](/watermark/python-net/groupdocs.watermark.options/previewoptions/) that returns the output stream to the client for further use.

```python
def __init__(self, create_page_stream, release_page_stream):
    ...
Parameter Type Description
create_page_stream CreatePageStream Callable that creates a stream for a specific page preview.
release_page_stream ReleasePageStream Callable that is invoked when page preview generation is done and receives the output stream.

Example

import os
import groupdocs.watermark as gw
import groupdocs.watermark.options as gwo

output_dir = os.path.join(os.getcwd(), "preview")
os.makedirs(output_dir, exist_ok=True)

def create_page_stream(page_number: int):
    path = os.path.join(output_dir, f"page{page_number}.png")
    return open(path, "wb")

def release_page_stream(page_number: int, stream):
    stream.close()

with gw.Watermarker("sample.pdf") as watermarker:
    preview_options = gwo.PreviewOptions(create_page_stream, release_page_stream)
    preview_options.preview_format = gwo.PreviewOptions.PreviewFormats.PNG
    preview_options.page_numbers = [1, 2]
    watermarker.generate_preview(preview_options)

See Also

On this page