pdf_writer::writers

Struct ImageXObject

source
pub struct ImageXObject<'a> { /* private fields */ }
Expand description

Writer for an image XObject stream.

This struct is created by Chunk::image_xobject.

Implementations§

source§

impl<'a> ImageXObject<'a>

source

pub fn width(&mut self, width: i32) -> &mut Self

Write the /Width attribute.

source

pub fn height(&mut self, height: i32) -> &mut Self

Write the /Height attribute.

source

pub fn color_space(&mut self) -> ColorSpace<'_>

Start writing the /ColorSpace attribute.

Required for all images except if using the JPXDecode filter. If this is an image soft mask, the color space must be DeviceGray. Must not be Pattern.

source

pub fn color_space_name(&mut self, name: Name<'_>) -> &mut Self

Write the /ColorSpace attribute as a name from the resource dictionary.

Required for all images except if using the JPXDecode filter. If this is an image soft mask, the color space must be DeviceGray. Must not be Pattern.

source

pub fn bits_per_component(&mut self, bits: i32) -> &mut Self

Write the /BitsPerComponent attribute. Required.

Required for all images except if using the JPXDecode filter.

source

pub fn intent(&mut self, intent: RenderingIntent) -> &mut Self

Write the /Intent attribute. PDF 1.1+.

source

pub fn image_mask(&mut self, mask: bool) -> &mut Self

Write the /ImageMask attribute to set whether this image is a clipping mask. If so, the /BitsPerComponent must be 1 and /Mask and /ColorSpace attributes shall be left undefined.

source

pub fn color_mask(&mut self, colors: impl IntoIterator<Item = i32>) -> &mut Self

Write the /Mask attribute to set a color key mask. The iterable color argument must contain a range of colors (minimum and maximum) for each channel that shall be masked out. PDF 1.3+.

source

pub fn stencil_mask(&mut self, mask: Ref) -> &mut Self

Write the /Mask attribute to set another image as the stencil mask of this image.

source

pub fn decode(&mut self, decode: impl IntoIterator<Item = f32>) -> &mut Self

Write the /Decode attribute to set the decoding of the image sample colors to the specified color space. Must have twice the amount of elements as the color space.

source

pub fn interpolate(&mut self, interpolate: bool) -> &mut Self

Write the /Interpolate attribute.

Must be false or unset for PDF/A files.

source

pub fn alternates( &mut self, alternates: impl IntoIterator<Item = Ref>, ) -> &mut Self

Write the /Alternates attribute. PDF 1.3+.

Images that may replace this image. The order is not relevant.

Note that this key is forbidden in PDF/A.

source

pub fn s_mask(&mut self, x_object: Ref) -> &mut Self

Start writing the /SMask attribute. PDF 1.4+.

Must not be used if this image already is an image soft mask.

Note that this key is forbidden in PDF/A-1.

source

pub fn s_mask_in_data(&mut self, mode: SMaskInData) -> &mut Self

Note that this key is forbidden in PDF/A-1. Write the /SMaskInData attribute. PDF 1.5+.

May only be used for images that use the JPXDecode filter. If set to something other than Ignore, the SMask attribute must not be used.

source

pub fn struct_parent(&mut self, key: i32) -> &mut Self

Write the /StructParent attribute to indicate the structure tree element this image belongs to. PDF 1.3+.

source

pub fn matte(&mut self, color: impl IntoIterator<Item = f32>) -> &mut Self

Write the /Matte attribute for image soft masks. PDF 1.4+.

This shall be the matte color of the parent image encoded in its color space.

source

pub fn metadata(&mut self, id: Ref) -> &mut Self

Write the /Metadata attribute to specify the image’s metadata. PDF 1.4+.

The reference shall point to a metadata stream.

source

pub fn associated_files(&mut self) -> TypedArray<'_, FileSpec<'_>>

Start writing the /AF array to specify the associated files of the image. PDF 2.0+ or PDF/A-3.

Methods from Deref<Target = Stream<'a>>§

source

pub fn filter(&mut self, filter: Filter) -> &mut Self

Write the /Filter attribute.

source

pub fn decode_parms(&mut self) -> DecodeParms<'_>

Start writing the /DecodeParms attribute.

This is a dictionary that specifies parameters to be used in decoding the stream data using the filter specified by the /Filter attribute.

Methods from Deref<Target = Dict<'a>>§

source

pub fn len(&self) -> i32

The number of written pairs.

source

pub fn is_empty(&self) -> bool

Whether no pairs have been written so far.

source

pub fn insert(&mut self, key: Name<'_>) -> Obj<'_>

Start writing a pair with an arbitrary value.

source

pub fn pair<T: Primitive>(&mut self, key: Name<'_>, value: T) -> &mut Self

Write a pair with a primitive value.

This is a shorthand for dict.insert(key).primitive(value).

source

pub fn pairs<'n, T: Primitive>( &mut self, pairs: impl IntoIterator<Item = (Name<'n>, T)>, ) -> &mut Self

Write a sequence of pairs with primitive values.

Trait Implementations§

source§

impl<'a> Deref for ImageXObject<'a>

source§

type Target = Stream<'a>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'a> DerefMut for ImageXObject<'a>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<'a> Freeze for ImageXObject<'a>

§

impl<'a> RefUnwindSafe for ImageXObject<'a>

§

impl<'a> Send for ImageXObject<'a>

§

impl<'a> Sync for ImageXObject<'a>

§

impl<'a> Unpin for ImageXObject<'a>

§

impl<'a> !UnwindSafe for ImageXObject<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Finish for T

source§

fn finish(self)

Does nothing but move self, equivalent to drop.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.