pdf_writer::writers

Struct MediaClip

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

Writer for an media clip dictionary.

This struct is created by Rendition::media_clip.

§Note on reader compatibility

Different PDF readers may have support for different media codecs and container formats.

For example, Adobe’s documentation states that Adobe Acrobat can play videos in MP4, MOV, M4V, 3GP, and 3G2 containers using the H.264 codec.

Other readers may depend on the media libraries installed on the system. KDE Okular, for example, uses the Phonon library to support a range of media formats.

Yet other viewers do not support media clips at all. At the time of writing, this includes the popular Pdfium library used by Google Chrome and Microsoft Edge, pdf.js used by Firefox, mupdf, and Quartz, the PDF viewer on Apple platforms.

Implementations§

source§

impl<'a> MediaClip<'a>

source

pub fn subtype(&mut self, kind: MediaClipType) -> &mut Self

Write the /S attribute to set the media clip type.

source

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

Write the /N attribute. Specifies the name of the media clip, for use in the user interface.

source

pub fn data(&mut self) -> FileSpec<'_>

Start writing the /D dictionary specifying the media data.

source

pub fn data_type(&mut self, tf: Str<'_>) -> &mut Self

Write the /CT attribute identifying the type of data in /D, i.e. the MIME type.

source

pub fn permissions(&mut self) -> MediaPermissions<'_>

Start writing the /P, i.e. media permissions, dictionary.

source

pub fn alt_texts<'b>( &mut self, texts: impl IntoIterator<Item = TextStr<'b>>, ) -> &mut Self

Write the /Alt attribute, listing alternate text descriptions which are specified as a multi-language text array. A multi-language text array shall contain pairs of strings.

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 MediaClip<'a>

source§

type Target = Dict<'a>

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl<'a> DerefMut for MediaClip<'a>

source§

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

Mutably dereferences the value.
source§

impl<'a, 'any> Rewrite<'a> for MediaClip<'any>

source§

type Output = MediaClip<'a>

The writer with the rewritten lifetime.
source§

impl<'a> Writer<'a> for MediaClip<'a>

source§

fn start(obj: Obj<'a>) -> Self

Start writing the object.

Auto Trait Implementations§

§

impl<'a> Freeze for MediaClip<'a>

§

impl<'a> RefUnwindSafe for MediaClip<'a>

§

impl<'a> Send for MediaClip<'a>

§

impl<'a> Sync for MediaClip<'a>

§

impl<'a> Unpin for MediaClip<'a>

§

impl<'a> !UnwindSafe for MediaClip<'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.