### Tile pages into a new document
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPages.html
Example usage of the tile_into_new_document method to arrange pages into a grid.
```rust
PdfPages::tile_into_new_document(2, 3, PdfPagePaperSize::a3().to_landscape())
```
--------------------------------
### get
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfFonts.html
Retrieves a reference to a PdfFont using a token.
```APIDOC
## pub fn get(&self, token: PdfFontToken) -> Option<&PdfFont<'_>>
### Description
Returns a reference to the `PdfFont` associated with the given `PdfFontToken`, if it exists.
### Parameters
- **token** (PdfFontToken) - The token identifying the loaded font.
```
--------------------------------
### Accessing Blob from HTML File Input
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfAttachments.html
Example of retrieving a File object from an HTML input element for use with create_attachment_from_blob in WASM environments.
```javascript
const file = document.getElementById('filePicker').files[0];
```
--------------------------------
### bind_to_system_library
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Initializes the external Pdfium library by loading it from the system libraries.
```APIDOC
## pub fn bind_to_system_library() -> Result, PdfiumError>
### Description
Initializes the external Pdfium library, loading it from the system libraries. Returns a new PdfiumLibraryBindings object or an error if the library could not be loaded.
```
--------------------------------
### get()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfFormFieldOptions.html
Returns a single PdfFormFieldOption from this PdfFormFieldOptions collection.
```APIDOC
### pub fn get(&self, index: PdfFormFieldOptionIndex) -> Result
Returns a single PdfFormFieldOption from this PdfFormFieldOptions collection.
```
--------------------------------
### get()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/glyphs/struct.PdfFontGlyphs.html
Returns a single PdfFontGlyph from this PdfFontGlyphs collection.
```APIDOC
## pub fn get(&self, index: PdfFontGlyphIndex) -> Result, PdfiumError>
### Description
Retrieves a specific glyph by its index.
### Parameters
- **index** (PdfFontGlyphIndex) - The index of the glyph to retrieve.
### Returns
- **Result, PdfiumError>** - The requested glyph or an error if the index is invalid.
```
--------------------------------
### Bind to a local Pdfium library
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Initializes Pdfium by binding to a library file located in the specified directory.
```rust
use pdfium_render::prelude::*;
let pdfium = Pdfium::new(
Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./")).unwrap()
);
```
--------------------------------
### get()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectsCommon.html
Returns a single PdfPageObject from this page objects collection.
```APIDOC
### fn get(&self, index: PdfPageObjectIndex) -> Result, PdfiumError>
Returns a single PdfPageObject from this page objects collection.
```
--------------------------------
### Pdfium::default()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Initializes a new Pdfium instance by binding to an external Pdfium library. It attempts to load the library from the current working directory first, falling back to a system-provided library if necessary.
```APIDOC
## fn default() -> Self
### Description
Binds to an external Pdfium library by first attempting to bind to a Pdfium library in the current working directory; if that fails, then a system-provided library will be used as a fall back. This function will panic if no suitable Pdfium library can be loaded.
```
--------------------------------
### move_to
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPagePathObject.html
Begins a new sub-path by moving the current point.
```APIDOC
## pub fn move_to(&mut self, x: PdfPoints, y: PdfPoints) -> Result<(), PdfiumError>
### Description
Begins a new sub-path in this PdfPagePathObject by moving the current point to the given coordinates, omitting any connecting line segment.
```
--------------------------------
### line_cap / set_line_cap
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectCommon.html
Methods to get or set the line cap style.
```APIDOC
## fn line_cap(&self) -> Result
## fn set_line_cap(&mut self, line_cap: PdfPageObjectLineCap) -> Result<(), PdfiumError>
### Description
Get or set the line cap style used when painting stroked path segments.
```
--------------------------------
### Importing pdfium-render definitions
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/index.html
Use this glob import to bring all public definitions from the pdfium-render crate into scope.
```rust
use pdfium_render::prelude::*;
```
--------------------------------
### line_join / set_line_join
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectCommon.html
Methods to get or set the line join style.
```APIDOC
## fn line_join(&self) -> Result
## fn set_line_join(&mut self, line_join: PdfPageObjectLineJoin) -> Result<(), PdfiumError>
### Description
Get or set the line join style used when painting stroked path segments.
```
--------------------------------
### stroke_width / set_stroke_width
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectCommon.html
Methods to get or set the stroke width of the PDF page object.
```APIDOC
## fn stroke_width(&self) -> Result
## fn set_stroke_width(&mut self, stroke_width: PdfPoints) -> Result<(), PdfiumError>
### Description
Get or set the width of any stroked lines in this PdfPageObject.
```
--------------------------------
### bind_to_library
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Initializes the external Pdfium library by loading it from a specific file path.
```APIDOC
## pub fn bind_to_library(path: impl AsRef) -> Result, PdfiumError>
### Description
Initializes the external Pdfium library, loading it from the given path. Returns a new PdfiumLibraryBindings object or an error if the library could not be loaded.
```
--------------------------------
### stroke_color / set_stroke_color
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectCommon.html
Methods to get or set the stroke color of the PDF page object.
```APIDOC
## fn stroke_color(&self) -> Result
## fn set_stroke_color(&mut self, stroke_color: PdfColor) -> Result<(), PdfiumError>
### Description
Get or set the color of any stroked paths in this PdfPageObject.
```
--------------------------------
### PdfSearchOptions::new
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/search/struct.PdfSearchOptions.html
Creates a new instance of PdfSearchOptions with default settings.
```APIDOC
## pub fn new() -> Self
### Description
Creates a new PdfSearchOptions object with all settings initialized with their default values.
```
--------------------------------
### reason()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfSignature.html
Returns the reason for the signing, if any, as a plain text description.
```APIDOC
## pub fn reason(&self) -> Option
### Description
Returns the reason for the signing, if any, as a plain text description provided by the creator of this PdfSignature.
```
--------------------------------
### fill_color / set_fill_color
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectCommon.html
Methods to get or set the fill color of the PDF page object.
```APIDOC
## fn fill_color(&self) -> Result
## fn set_fill_color(&mut self, fill_color: PdfColor) -> Result<(), PdfiumError>
### Description
Get or set the color of any filled paths in this PdfPageObject.
```
--------------------------------
### FFI_GetPlatform
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Retrieves the current platform information.
```APIDOC
## FFI_GetPlatform
### Description
Gets the current platform. Required for XFA support.
### Parameters
- **pThis** (*mut _FPDF_FORMFILLINFO) - Pointer to the interface structure.
- **platform** (*mut c_void) - Buffer to receive the platform string (UTF-16LE).
- **length** (i32) - Length of the buffer in bytes.
### Return Value
- **length** (i32) - The length of the buffer in bytes.
```
--------------------------------
### Configure Static Linking via Environment Variables
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Set the PDFIUM_STATIC_LIB_PATH environment variable to instruct cargo to link to a statically-built library.
```bash
PDFIUM_STATIC_LIB_PATH="/path/containing/your/static/pdfium/library" cargo build
```
--------------------------------
### Configure Dynamic Linking via Environment Variables
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Set the PDFIUM_DYNAMIC_LIB_PATH environment variable to instruct cargo to link to a dynamically-built library.
```bash
PDFIUM_DYNAMIC_LIB_PATH="/path/containing/your/dynamic/pdfium/library" cargo build
```
--------------------------------
### PdfiumLibraryConfig Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfiumLibraryConfig.html
Methods available for configuring the Pdfium library instance.
```APIDOC
## pub fn new() -> Self
Creates a new PdfiumLibraryConfig object with all settings initialized to their default values.
## pub fn clear_user_font_paths(self) -> Self
Clears any user-specified paths that should be interrogated by Pdfium when attempting to load any custom fonts.
## pub fn set_platform_default_user_font_paths(self) -> Self
Sets the list of user-specified paths to the platform defaults (e.g., /usr/share/fonts/truetype/ on Linux).
## pub fn set_user_font_paths(self, paths: &[&str]) -> Result
Sets the list of user-specified paths that should be interrogated by Pdfium when attempting to load any custom fonts.
## pub unsafe fn set_v8_isolate_ptr(self, ptr: *mut c_void) -> Self
Sets the pointer to the v8::Isolate to use. If NULL, Pdfium will create one.
## pub unsafe fn set_v8_embedder_slot(self, idx: c_uint) -> Self
Sets the embedder data slot to use in the v8::Isolate to store Pdfium’s per-isolate data.
## pub unsafe fn set_v8_platform_ptr(self, ptr: &mut c_void) -> Self
Sets the pointer to the v8::Platform to use.
## pub fn set_renderer_anti_grain_geometry(self) -> Self
Sets Pdfium’s graphics renderer to the Anti-Grain Geometry library.
## pub fn set_renderer_skia(self) -> Self
Sets Pdfium’s graphics renderer to Skia.
## pub fn set_font_backend_freetype(self) -> Self
Sets Pdfium’s font handler to FreeType.
## pub fn set_font_backend_fontations(self) -> Self
Sets Pdfium’s font handler to Fontations.
```
--------------------------------
### Export PDF pages to JPEG files
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Demonstrates loading a PDF document, configuring rendering options, and saving each page as a JPEG image.
```rust
use pdfium_render::prelude::*;
/// Renders each page in the PDF file at the given path to a separate JPEG file.
fn export_pdf_to_jpegs(path: &impl AsRef, password: Option<&str>) -> Result<(), PdfiumError> {
// Bind to a Pdfium library in the same directory as our Rust executable.
// See the "Dynamic linking" section below.
let pdfium = Pdfium::default();
// Load the document from the given path...
let document = pdfium.load_pdf_from_file(path, password)?;
// ... set rendering options that will be applied to all pages...
let render_config = PdfRenderConfig::new()
.set_target_width(2000)
.set_maximum_height(2000)
.rotate_if_landscape(PdfPageRenderRotation::Degrees90, true);
// ... then render each page to a bitmap image, saving each image to a JPEG file.
for (index, page) in document.pages().iter().enumerate() {
page.render_with_config(&render_config)?
.as_image()? // Renders this page to an image::DynamicImage...
.into_rgb8() // ... removes the alpha channel for compatibility with the Jpeg format...
.save_with_format(
format!("page-{}.jpg", index),
image::ImageFormat::Jpeg
) // ... and saves the image to a file.
.map_err(|_| PdfiumError::ImageError)?;
}
Ok(())
}
```
--------------------------------
### Bind with fallback to system library
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Attempts to bind to a local library first, falling back to the system-provided library if the local one is not found.
```rust
use pdfium_render::prelude::*;
let pdfium = Pdfium::new(
Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./"))
.or_else(|_| Pdfium::bind_to_system_library())
.unwrap() // Or use the ? unwrapping operator to pass any error up to the caller
);
```
--------------------------------
### PdfRenderConfig Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfRenderConfig.html
Methods for initializing and configuring rendering settings for PDF pages.
```APIDOC
## new()
Creates a new PdfRenderConfig object with default settings.
## thumbnail(size: Pixels)
Applies settings optimized for thumbnail generation, including reduced quality and disabled annotations.
## set_fixed_size_to_bitmap(bitmap: &PdfBitmap)
Sets the target rendering dimensions to match the provided bitmap's dimensions.
## set_fixed_size(width: Pixels, height: Pixels)
Sets the target rendering dimensions to specific pixel values without maintaining aspect ratio.
## set_fixed_width(width: Pixels)
Sets the target rendering width, maintaining aspect ratio.
## set_fixed_height(height: Pixels)
Sets the target rendering height, maintaining aspect ratio.
## set_target_size(width: Pixels, height: Pixels)
Scales the page to the target pixel dimensions, ignoring aspect ratio.
## set_target_width(width: Pixels)
Scales the page width to the target pixel width, maintaining aspect ratio.
## set_target_height(height: Pixels)
Scales the page height to the target pixel height, maintaining aspect ratio.
```
--------------------------------
### Render a page thumbnail
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPage.html
Demonstrates how to render a thumbnail for a page using PdfRenderConfig when an embedded thumbnail is not available.
```rust
let thumbnail_desired_pixel_size = 128;
let thumbnail = page.render_with_config(
&PdfRenderConfig::thumbnail(thumbnail_desired_pixel_size)
)?; // Renders a 128 x 128 thumbnail of the page
```
--------------------------------
### Initialize Pdfium using Default trait
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Uses the Default trait implementation to initialize Pdfium, which encapsulates the local-to-system fallback pattern.
```rust
use pdfium_render::prelude::*;
let pdfium = Pdfium::default();
```
--------------------------------
### PdfActionLaunch Struct Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/launch/struct.PdfActionLaunch.html
The primary definition of the PdfActionLaunch struct.
```rust
pub struct PdfActionLaunch<'a> { /* private fields */ }
```
--------------------------------
### Object and Style Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/char/struct.PdfPageTextChar.html
Methods to retrieve the parent text object, rendering mode, and color properties.
```APIDOC
## text_object
Returns the PdfPageTextObject containing this character.
## render_mode
Returns the PdfPageTextRenderMode for this character.
## fill_color
Returns the fill color applied to this character.
## stroke_color
Returns the stroke color applied to this character.
```
--------------------------------
### Porting Pdfium C++ code to Rust
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Demonstrates the translation of standard C++ Pdfium library calls into idiomatic Rust using the PdfiumLibraryBindings trait.
```cpp
string test_doc = "test.pdf";
FPDF_InitLibrary();
FPDF_DOCUMENT doc = FPDF_LoadDocument(test_doc, NULL);
// ... do something with doc
FPDF_CloseDocument(doc);
FPDF_DestroyLibrary();
```
```rust
let pdfium = Pdfium::default();
let bindings = pdfium.bindings();
let test_doc = "test.pdf";
unsafe {
bindings.FPDF_InitLibrary();
let doc = bindings.FPDF_LoadDocument(test_doc, None);
// ... do something with doc
bindings.FPDF_CloseDocument(doc);
bindings.FPDF_DestroyLibrary();
}
```
--------------------------------
### pub fn label(&self) -> Option<&String>
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfFormFieldOption.html
Returns the displayed label for this option, if any.
```APIDOC
## pub fn label(&self) -> Option<&String>
### Description
Returns the displayed label for this option, if any.
```
--------------------------------
### first
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageAnnotationObjects.html
Retrieves the first object in the collection.
```APIDOC
## fn first(&self) -> Result, PdfiumError>
### Description
Returns the first PdfPageObject in the collection.
```
--------------------------------
### Display and Interaction Settings
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageUnsupportedAnnotation.html
Methods for controlling the visibility, printing, and transformation behavior of the annotation.
```APIDOC
## fn is_invisible_if_unsupported(&self) -> bool
Returns true if this annotation should not be displayed if it is an unsupported type.
## fn set_is_invisible_if_unsupported(&mut self, is_invisible: bool) -> Result<(), PdfiumError>
Controls whether this annotation is invisible if unsupported.
## fn is_hidden(&self) -> bool
Returns true if this annotation is hidden from display, printing, and interaction.
## fn set_is_hidden(&mut self, is_hidden: bool) -> Result<(), PdfiumError>
Controls the hidden status of the annotation.
## fn is_printed(&self) -> bool
Returns true if this annotation should be printed.
## fn set_is_printed(&mut self, is_printed: bool) -> Result<(), PdfiumError>
Controls whether the annotation is printed.
## fn is_zoomable(&self) -> bool
Returns true if the annotation scales with page magnification.
## fn set_is_zoomable(&mut self, is_zoomable: bool) -> Result<(), PdfiumError>
Controls whether the annotation scales with page magnification.
## fn is_rotatable(&self) -> bool
Returns true if the annotation rotates with the page.
## fn set_is_rotatable(&mut self, is_rotatable: bool) -> Result<(), PdfiumError>
Controls whether the annotation rotates with the page.
## fn is_printable_but_not_viewable(&self) -> bool
Returns true if the annotation is printable but not visible on-screen.
```
--------------------------------
### FFI_OpenFile
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Opens a specified file with a given mode.
```APIDOC
## FFI_OpenFile
### Description
Opens the specified file with the specified mode. Required for XFA support.
### Parameters
- **pThis** (*mut _FPDF_FORMFILLINFO) - Pointer to the interface structure.
- **fileFlag** (i32) - The file flag (refer to FXFA_SAVEAS_XXX macros).
- **wsURL** (*const u16) - The file URL in UTF-16LE format.
- **mode** (*const i8) - The mode for opening the file (e.g., "rb" or "wb").
### Return Value
- **handle** (*mut FPDF_FILEHANDLER_) - The handle to the opened file.
```
--------------------------------
### Visualize PdfQuadPoints coordinates
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfQuadPoints.html
A diagram illustrating the counter-clockwise vertex ordering of the quadrilateral.
```text
(x4, y4) (x3, y3)
._____________________.
| |
| |
!_____________________!
(x1, y1) (x2, y2)
```
--------------------------------
### load_pdf_from_fetch
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Attempts to open a PdfDocument by loading data from a URL using the fetch API. Only available when compiling to WASM.
```APIDOC
## pub async fn load_pdf_from_fetch<'a>( &'a self, url: impl ToString, password: Option<&str>, ) -> Result, PdfiumError>
### Description
Attempts to open a PdfDocument by downloading data from the given URL using the browser's fetch API.
```
--------------------------------
### Geometry and Transformation Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/char/struct.PdfPageTextChar.html
Methods to retrieve bounding boxes, rotation, translation, and scaling information.
```APIDOC
## angle_degrees / angle_radians
Returns the rotation angle of the character.
## tight_bounds / loose_bounds
Returns the precise or loose bounding box for the character.
## matrix
Returns the transformation matrix applied to the character.
## get_translation / get_horizontal_translation / get_vertical_translation
Returns the translation of the character origin.
## get_scale / get_horizontal_scale / get_vertical_scale
Returns the scale factors applied to the character.
## get_rotation_counter_clockwise_degrees / get_rotation_clockwise_degrees
Returns the rotation applied to the character in degrees.
```
--------------------------------
### FFI_DoURIActionWithKeyboardModifier
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Navigates to a URI with specified keyboard modifiers.
```APIDOC
## FFI_DoURIActionWithKeyboardModifier
### Description
Requests the implementation to navigate to a URI while considering keyboard modifiers.
### Parameters
- **param** (pointer) - Pointer to the interface structure.
- **uri** (string) - A null-terminated byte string indicating the URI.
- **modifiers** (integer) - Keyboard modifier indicating which virtual keys are active.
```
--------------------------------
### scale_page_to_display_size
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfRenderConfig.html
Applies settings to this PdfRenderConfig suitable for filling the given screen display size.
```APIDOC
## pub fn scale_page_to_display_size(self, width: Pixels, height: Pixels) -> Self
### Description
Applies settings to this PdfRenderConfig suitable for filling the given screen display size. The source page’s dimensions will be scaled so that both width and height attempt to fill, but do not exceed, the given pixel dimensions. The aspect ratio of the source page will be maintained. Landscape pages will be automatically rotated by 90 degrees and will be scaled down if necessary to fit the display width.
```
--------------------------------
### pub fn is_set(&self) -> bool
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfFormFieldOption.html
Returns true if this option is selected.
```APIDOC
## pub fn is_set(&self) -> bool
### Description
Returns `true` if this option is selected.
```
--------------------------------
### FFI_DownloadFromURL
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Downloads a file from a specified URL.
```APIDOC
## FFI_DownloadFromURL
### Description
Downloads the specified file from the URL. Required for XFA support.
### Parameters
- **pThis** (*mut _FPDF_FORMFILLINFO) - Pointer to the interface structure.
- **URL** (*const u16) - The file URL (UTF-16LE).
### Return Value
- **handle** (*mut FPDF_FILEHANDLER_) - The handle to the downloaded file.
```
--------------------------------
### Annotation Visibility and Behavior Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageInkAnnotation.html
Methods for controlling the visibility, printing, zooming, and rotation behavior of the annotation.
```APIDOC
## fn is_invisible_if_unsupported(&self) -> bool
Returns true if this PdfPageAnnotation should not be displayed to the user if it does not belong to one of the standard annotation types.
## fn set_is_invisible_if_unsupported(&mut self, is_invisible: bool) -> Result<(), PdfiumError>
Controls whether or not this PdfPageAnnotation should be displayed to the user if it does not belong to one of the standard annotation types.
## fn is_hidden(&self) -> bool
Returns true if this PdfPageAnnotation should not be displayed or printed, nor allowed to interact with the user.
## fn set_is_hidden(&mut self, is_hidden: bool) -> Result<(), PdfiumError>
Controls whether or not this PdfPageAnnotation should be displayed, printed, and allowed to interact with the user.
## fn is_printed(&self) -> bool
Returns true if this PdfPageAnnotation should be printed when the page is printed.
## fn set_is_printed(&mut self, is_printed: bool) -> Result<(), PdfiumError>
Controls whether or not this PdfPageAnnotation should be printed when the page is printed.
## fn is_zoomable(&self) -> bool
Returns true if the appearance of this PdfPageAnnotation should scale to match the magnification of the page.
## fn set_is_zoomable(&mut self, is_zoomable: bool) -> Result<(), PdfiumError>
Controls whether or not the appearance of this PdfPageAnnotation should scale to match the magnification of the page.
## fn is_rotatable(&self) -> bool
Returns true if the appearance of this PdfPageAnnotation should rotate to match the rotation of the page.
## fn set_is_rotatable(&mut self, is_rotatable: bool) -> Result<(), PdfiumError>
Controls whether or not the appearance of this PdfPageAnnotation should rotate to match the rotation of the page.
## fn is_printable_but_not_viewable(&self) -> bool
Returns true if this PdfPageAnnotation should not be displayed to, or allowed to interact with, the user.
```
--------------------------------
### Target-Specific Static Linking Configuration
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Use target-specific environment variables to override default paths when cross-compiling.
```bash
PDFIUM_STATIC_LIB_PATH_aarch64_apple_darwin="/path/to/arm64/pdfium" \
PDFIUM_STATIC_LIB_PATH_x86_64_apple_darwin="/path/to/x64/pdfium" \
cargo build --target aarch64-apple-darwin
```
--------------------------------
### FX_DOWNLOADHINTS Struct Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FX_DOWNLOADHINTS.html
The underlying C-compatible structure for FX_DOWNLOADHINTS.
```rust
#[repr(C)]
pub struct FX_DOWNLOADHINTS {
pub version: i32,
pub AddSegment: Option,
}
```
--------------------------------
### FFI_DoURIAction Callback Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Defines the callback for navigating to a URI.
```rust
FFI_DoURIAction: Option
```
--------------------------------
### FFI_DoGoToAction Callback Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Defines the callback for changing the view to a specified destination.
```rust
FFI_DoGoToAction: Option
```
--------------------------------
### FFI_GetCurrentPage Callback Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Defines the callback for retrieving the current page handle, required when V8 support is enabled.
```rust
FFI_GetCurrentPage: Option *mut fpdf_page_t__>
```
--------------------------------
### justification
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageCircleAnnotation.html
Retrieves the text justification.
```APIDOC
## fn justification(&self) -> Result
### Description
Returns the form of justification that should be used when displaying the text assigned to this annotation.
```
--------------------------------
### FFI_GetPage Callback Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Defines the callback for retrieving a page handle by its index.
```rust
FFI_GetPage: Option *mut fpdf_page_t__>
```
--------------------------------
### FFI_PostRequestURL
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Posts a request to a server URL.
```APIDOC
## FFI_PostRequestURL
### Description
Posts the request to the server URL. Required for XFA support.
### Parameters
- **pThis** (*mut _FPDF_FORMFILLINFO) - Pointer to the interface structure.
- **wsURL** (*const u16) - Server URL (UTF-16LE).
- **wsData** (*const u16) - Post data (UTF-16LE).
- **wsContentType** (*const u16) - Content type (UTF-16LE).
- **wsEncode** (*const u16) - Encode type (UTF-16LE).
- **wsHeader** (*const u16) - Request header (UTF-16LE).
- **response** (*mut FPDF_BSTR_) - Pointer to receive response data.
### Return Value
- **success** (i32) - TRUE indicates success, otherwise FALSE.
```
--------------------------------
### fn provide
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/provider/trait.PdfiumCustomFontProvider.html
Responds to a single custom font lookup request from Pdfium, returning either a valid response if the font is available or None if the font is not available to this provider implementation.
```APIDOC
## fn provide(&mut self, request: PdfiumCustomFontProviderRequest) -> Option
### Description
Responds to a single custom font lookup request from Pdfium. This method is required to be implemented by any type acting as a custom font provider.
### Parameters
- **request** (PdfiumCustomFontProviderRequest) - Required - The font lookup request details provided by Pdfium.
### Returns
- **Option** - Returns a valid response containing the font data if available, or None if the font cannot be provided.
```
--------------------------------
### Bind to Statically Linked Pdfium
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Use the static crate feature to bind directly to Pdfium functions compiled into your executable.
```rust
use pdfium_render::prelude::*;
let pdfium = Pdfium::new(Pdfium::bind_to_statically_linked_library().unwrap());
```
--------------------------------
### signing_date()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfSignature.html
Returns the date of signing in plain text format.
```APIDOC
## pub fn signing_date(&self) -> Option
### Description
Returns the date, if any, in plain text format as specified by the creator of this PdfSignature. The format is expected to be D:YYYYMMDDHHMMSS+XX'YY'.
```
--------------------------------
### Annotation Appearance Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/enum.PdfPageAnnotation.html
Methods for managing the visual appearance, including fill and stroke colors.
```APIDOC
## fn fill_color(&self) -> Result
Returns the color of any filled paths in this PdfPageAnnotation.
## fn set_fill_color(&mut self, fill_color: PdfColor) -> Result<(), PdfiumError>
Sets the color of any filled paths in this PdfPageAnnotation.
## fn stroke_color(&self) -> Result
Returns the color of any stroked paths in this PdfPageAnnotation.
## fn set_stroke_color(&mut self, stroke_color: PdfColor) -> Result<(), PdfiumError>
Sets the color of any stroked paths in this PdfPageAnnotation.
```
--------------------------------
### load_pdf_from_byte_slice
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Opens a PdfDocument from a static byte buffer.
```APIDOC
## pub fn load_pdf_from_byte_slice<'a>(&'a self, bytes: &'a [u8], password: Option<&str>) -> Result, PdfiumError>
### Description
Attempts to open a PdfDocument from the given static byte buffer. If the document is password protected, the provided password will be used to unlock it.
```
--------------------------------
### PdfBitmap::empty
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfBitmap.html
Creates an empty PdfBitmap with a buffer capable of storing an image of the given pixel width and height in the given pixel format.
```APIDOC
## pub fn empty(width: Pixels, height: Pixels, format: PdfBitmapFormat) -> Result, PdfiumError>
### Description
Creates an empty PdfBitmap with a buffer capable of storing an image of the given pixel width and height in the given pixel format.
```
--------------------------------
### Geometric Transformation Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/enum.PdfPageObject.html
Convenience methods for translating, scaling, flipping, and rotating objects.
```APIDOC
## translate(delta_x, delta_y)
Moves the origin of the object by the specified horizontal and vertical distances.
## scale(horizontal_scale_factor, vertical_scale_factor)
Scales the object by the given factors.
## flip_horizontally()
Flips the object horizontally around its origin.
## flip_vertically()
Flips the object vertically around its origin.
## reflect()
Reflects the object both horizontally and vertically.
## rotate_clockwise_degrees(degrees)
Rotates the object clockwise by the specified degrees.
## rotate_counter_clockwise_degrees(degrees)
Rotates the object counter-clockwise by the specified degrees.
## skew_degrees(x_axis_skew, y_axis_skew)
Skews the axes of the object by the given angles in degrees.
```
--------------------------------
### Link Against LLVM C++ Standard Library
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Flag passed to cargo when the libc++ feature is enabled.
```text
cargo:rustc-link-lib=dylib=c++
```
--------------------------------
### Transformation Query Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/enum.PdfPageObject.html
Methods to retrieve current transformation state information.
```APIDOC
## matrix()
Returns the current PdfMatrix applied to the object.
## get_translation()
Returns the current horizontal and vertical translation as a tuple.
## get_scale()
Returns the current horizontal and vertical scale factors as a tuple.
```
--------------------------------
### scale_page_to_bitmap
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfRenderConfig.html
Applies settings to this PdfRenderConfig suitable for filling the given PdfBitmap.
```APIDOC
## pub fn scale_page_to_bitmap(self, bitmap: &PdfBitmap<'_>) -> Self
### Description
Applies settings to this PdfRenderConfig suitable for filling the given PdfBitmap. The source page’s dimensions will be scaled so that both width and height attempt to fill, but do not exceed, the pixel dimensions of the bitmap. The aspect ratio of the source page will be maintained. Landscape pages will be automatically rotated by 90 degrees and will be scaled down if necessary to fit the bitmap width.
```
--------------------------------
### load_pdf_from_byte_vec
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Opens a PdfDocument from an owned byte buffer, taking ownership of the data.
```APIDOC
## pub fn load_pdf_from_byte_vec(&self, bytes: Vec, password: Option<&str>) -> Result, PdfiumError>
### Description
Attempts to open a PdfDocument from the given owned byte buffer. The library takes ownership of the buffer to ensure its lifetime matches the PdfDocument.
```
--------------------------------
### PdfRenderConfig Configuration Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfRenderConfig.html
Methods available on the PdfRenderConfig struct to customize the rendering process.
```APIDOC
## Methods
- **clear_before_rendering(do_clear: bool) -> Self**: Controls whether the destination bitmap should be cleared before rendering. Default is true.
- **set_clear_color(color: PdfColor) -> Self**: Sets the color used when clearing the bitmap. Default is PdfColor::WHITE.
- **render_form_data(do_render: bool) -> Self**: Controls whether form data widgets are included. Default is true.
- **render_annotations(do_render: bool) -> Self**: Controls whether user-supplied annotations are included. Default is true.
- **use_lcd_text_rendering(do_set_flag: bool) -> Self**: Optimizes text rendering for LCD displays. Default is false.
- **disable_native_text_rendering(do_set_flag: bool) -> Self**: Disables platform-specific text rendering. Default is false.
- **use_grayscale_rendering(do_set_flag: bool) -> Self**: Renders output in grayscale. Default is false.
- **limit_render_image_cache_size(do_set_flag: bool) -> Self**: Limits the image cache size during rendering. Default is false.
- **force_half_tone(do_set_flag: bool) -> Self**: Forces halftone for image stretching. Default is false.
- **use_print_quality(do_set_flag: bool) -> Self**: Renders using print-quality settings. Default is false.
- **set_text_smoothing(do_set_flag: bool) -> Self**: Enables anti-aliasing for text. Default is true.
- **set_image_smoothing(do_set_flag: bool) -> Self**: Enables anti-aliasing for images. Default is true.
- **set_path_smoothing(do_set_flag: bool) -> Self**: Enables anti-aliasing for vector paths. Default is true.
- **set_reverse_byte_order(do_set_flag: bool) -> Self**: Reverses byte order to RGBA. Default is true.
- **render_fills_as_strokes(do_set_flag: bool) -> Self**: Strokes vector fill paths. Default is false.
- **highlight_all_form_fields(color: PdfColor) -> Self**: Highlights all form fields with a specific color.
- **highlight_button_form_fields(color: PdfColor) -> Self**: Highlights push button form fields with a specific color.
```
--------------------------------
### FFI_ExecuteNamedAction Callback Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Defines the callback for executing a named action within the PDF.
```rust
FFI_ExecuteNamedAction: Option
```
--------------------------------
### set_fill_and_stroke_mode
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPagePathObject.html
Configures fill and stroke settings.
```APIDOC
## pub fn set_fill_and_stroke_mode(&mut self, fill_mode: PdfPathFillMode, do_stroke: bool) -> Result<(), PdfiumError>
### Description
Sets the method used to determine which sub-paths of any path in this PdfPagePathObject should be filled, and whether or not any path in this PdfPagePathObject should be stroked.
```
--------------------------------
### fn bindings(&self) -> &'a dyn PdfiumLibraryBindings
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfBookmarksIterator.html
Retrieves the underlying Pdfium library bindings associated with the current iterator.
```APIDOC
## fn bindings(&self) -> &'a dyn PdfiumLibraryBindings
### Description
Returns a reference to the PdfiumLibraryBindings implementation used by this iterator instance.
### Returns
- **&'a dyn PdfiumLibraryBindings** - The library bindings interface.
```
--------------------------------
### Cargo Flags for Static Linking
Source: https://docs.rs/pdfium-render/latest/pdfium_render/index.html
Flags passed to cargo by pdfium-render when static linking is configured.
```text
cargo:rustc-link-lib=static=pdfium
cargo:rustc-link-search=native=$PDFIUM_STATIC_LIB_PATH
```
--------------------------------
### Define the PdfiumCustomFontProvider trait
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/provider/trait.PdfiumCustomFontProvider.html
The trait requires implementation of the provide method to handle font lookup requests.
```rust
pub trait PdfiumCustomFontProvider: Send + Sync {
// Required method
fn provide(
&mut self,
request: PdfiumCustomFontProviderRequest,
) -> Option;
}
```
--------------------------------
### FFI_UploadTo
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Uploads a file stream to a specified URL.
```APIDOC
## FFI_UploadTo
### Description
Uploads the specified file stream to the specified URL. Required for XFA support.
### Parameters
- **pThis** (*mut _FPDF_FORMFILLINFO) - Pointer to the interface structure.
- **pFileHandler** (*mut FPDF_FILEHANDLER_) - Handle to the file.
- **fileFlag** (i32) - The file flag (refer to FXFA_SAVEAS_XXX macros).
- **uploadTo** (*const u16) - The URL path (UTF-16LE).
```
--------------------------------
### clip
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfRenderConfig.html
Clips rendering output to the given pixel coordinates.
```APIDOC
## pub fn clip(self, left: Pixels, top: Pixels, right: Pixels, bottom: Pixels) -> Self
### Description
Clips rendering output to the given pixel coordinates. Pdfium will not render outside the clipping area. Note that applying a clipping rectangle disables rendering of form data.
```
--------------------------------
### create_new_pdf
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Creates a new, empty PdfDocument in memory.
```APIDOC
## pub fn create_new_pdf<'a>(&'a self) -> Result, PdfiumError>
### Description
Creates a new, empty PdfDocument in memory.
```
--------------------------------
### bind_to_statically_linked_library
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Binds to a Pdfium library that was statically linked into the currently running executable. This function is only available when the 'static' feature is enabled.
```APIDOC
## pub fn bind_to_statically_linked_library() -> Result, PdfiumError>
### Description
Binds to a Pdfium library that was statically linked into the currently running executable, returning a new PdfiumLibraryBindings object. The application will crash if Pdfium was not correctly statically linked at compile time.
```
--------------------------------
### PdfiumCustomFontProviderResponse Struct Definition
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/provider/struct.PdfiumCustomFontProviderResponse.html
The structure definition for the custom font provider response used by Pdfium.
```rust
pub struct PdfiumCustomFontProviderResponse {
pub id: PdfiumCustomFontHandle,
pub font_face: String,
pub character_set: PdfFontCharacterSet,
pub data: Vec,
}
```
--------------------------------
### bezier_to
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPagePathObject.html
Appends a cubic Bézier curve to the path.
```APIDOC
## pub fn bezier_to(&mut self, x: PdfPoints, y: PdfPoints, control1_x: PdfPoints, control1_y: PdfPoints, control2_x: PdfPoints, control2_y: PdfPoints) -> Result<(), PdfiumError>
### Description
Appends a cubic Bézier curve to this PdfPagePathObject from the current point to the given coordinates, using the two given Bézier control points.
```
--------------------------------
### Iterate over form fields
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfForm.html
Iterate through document pages and annotations to identify and process valid form fields.
```rust
for page in document.pages.iter() {
for annotation in page.annotations.iter() {
if let Some(field) = annotation.as_form_field() {
// We can now unwrap the specific type of form field
// and access its properties, including any user-specified value.
}
}
}
```
--------------------------------
### fill_mode
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPagePathObject.html
Returns the current fill mode.
```APIDOC
## pub fn fill_mode(&self) -> Result
### Description
Returns the method used to determine which sub-paths of any path in this PdfPagePathObject should be filled.
```
--------------------------------
### Character and Metric Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageTextObject.html
Methods for retrieving character data and calculating text metrics like descent.
```APIDOC
## pub fn chars(&self, text: &'a PdfPageText<'a>) -> Result, PdfiumError>
Returns a collection of the characters contained within this PdfPageTextObject.
## pub fn has_descenders(&self, text: &PdfPageText<'_>) -> Result
Returns true if any characters in the object have a glyph shape that descends below the font baseline.
## pub fn descent(&self, text: &PdfPageText<'_>) -> Result
Returns the descent of this PdfPageTextObject as a negative points value.
```
--------------------------------
### pub fn uri(&self) -> Result
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/uri/struct.PdfActionUri.html
Retrieves the URI path associated with the PdfActionUri instance.
```APIDOC
## pub fn uri(&self) -> Result
### Description
Returns the URI path associated with this PdfActionUri, if any.
### Returns
- **Result** - A Result containing the URI string if successful, or a PdfiumError if the operation fails.
```
--------------------------------
### PdfColor::new
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfColor.html
Constructs a new PdfColor object from the given red, green, blue, and alpha components.
```APIDOC
## fn new(red: u8, green: u8, blue: u8, alpha: u8) -> Self
### Description
Constructs a new PdfColor object from the given arguments.
```
--------------------------------
### line_to
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPagePathObject.html
Appends a straight line segment to the path.
```APIDOC
## pub fn line_to(&mut self, x: PdfPoints, y: PdfPoints) -> Result<(), PdfiumError>
### Description
Appends a straight line segment to this PdfPagePathObject from the current point to the given coordinates. The new current point is set to the given coordinates.
```
--------------------------------
### Variable Text Formatting
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageFreeTextAnnotation.html
Methods for retrieving and configuring text-specific properties of the annotation.
```APIDOC
## fn font_size(&self, form: &PdfForm<'_>) -> Result
Returns the current font size of the annotation text.
## fn is_font_auto_sized(&self, form: &PdfForm<'_>) -> bool
Checks if the font size is automatically determined by the annotation height.
## fn font_color(&self, form: &PdfForm<'_>) -> Result
Returns the text color.
## fn set_font_color(&mut self, form: &PdfForm<'_>, color: PdfColor) -> Result<(), PdfiumError>
Sets the text color.
## fn justification(&self) -> Result
Returns the text justification setting.
## fn rich_text(&self) -> Option
Returns the rich text string assigned to the annotation, if available.
```
--------------------------------
### bounds
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfPageAnnotationObjects.html
Calculates the bounding box of all objects.
```APIDOC
## fn bounds(&'a self) -> PdfRect
### Description
Returns the smallest bounding box that encompasses all PdfPageObjects in the collection.
```
--------------------------------
### PdfColor::from_hex
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfColor.html
Imports a color from a hexadecimal string specification.
```APIDOC
## fn from_hex(hex: &str) -> Result
### Description
Returns the result of importing the given hexadecimal color specification, as in HTML. The leading hash symbol is required.
```
--------------------------------
### load_pdf_from_file
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Attempts to open a PdfDocument from the given file path. This function is not available when compiling to WASM.
```APIDOC
## pub fn load_pdf_from_file<'a>( &'a self, path: &(impl AsRef + ?Sized), password: Option<&str>, ) -> Result, PdfiumError>
### Description
Attempts to open a PdfDocument from the given file path. If the document is password protected, the given password will be used to unlock it.
```
--------------------------------
### len()
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfFormFieldOptions.html
Returns the number of options in this PdfFormFieldOptions collection.
```APIDOC
### pub fn len(&self) -> PdfFormFieldOptionIndex
Returns the number of options in this PdfFormFieldOptions collection.
```
--------------------------------
### view_settings
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfDestination.html
Returns the view settings that a PDF viewer should apply when displaying the target PdfPage.
```APIDOC
## pub fn view_settings(&self) -> Result
### Description
Returns the view settings that a PDF viewer should apply when displaying the target `PdfPage` containing this `PdfDestination`.
### Returns
- **Result** - The view settings or an error if the operation fails.
```
--------------------------------
### Form Field Highlighting Methods
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.PdfRenderConfig.html
Methods to highlight specific types of form fields during rendering. Note that solid colors without opacity will overprint user data.
```APIDOC
## highlight_checkbox_form_fields(color: PdfColor) -> Self
## highlight_radio_button_form_fields(color: PdfColor) -> Self
## highlight_combobox_form_fields(color: PdfColor) -> Self
## highlight_listbox_form_fields(color: PdfColor) -> Self
## highlight_text_form_fields(color: PdfColor) -> Self
## highlight_signature_form_fields(color: PdfColor) -> Self
## highlight_form_fields_of_type(form_field_type: PdfFormFieldType, color: PdfColor) -> Self
### Description
Highlights rendered form fields of the specified type with the given color.
### Parameters
- **color** (PdfColor) - The color to apply to the form fields.
- **form_field_type** (PdfFormFieldType) - The specific type of form field to highlight (for highlight_form_fields_of_type).
```
--------------------------------
### load_pdf_from_reader
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/struct.Pdfium.html
Attempts to open a PdfDocument from a reader that implements Read and Seek. This is efficient for large documents and not available in WASM.
```APIDOC
## pub fn load_pdf_from_reader<'a, R: Read + Seek + 'a>( &'a self, reader: R, password: Option<&str>, ) -> Result, PdfiumError>
### Description
Attempts to open a PdfDocument from the given reader. The reader must implement both Read and Seek traits to allow Pdfium to load only necessary portions of the document.
```
--------------------------------
### FFI_EmailTo
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/type.FPDF_FORMFILLINFO.html
Emails a specified file stream to a contact.
```APIDOC
## FFI_EmailTo
### Description
Emails the specified file stream to the specified contact. Required for XFA support.
### Parameters
- **pThis** (*mut _FPDF_FORMFILLINFO) - Pointer to the interface structure.
- **pFileHandler** (*mut FPDF_FILEHANDLER_) - Handle to the file.
- **pTo** (*const u16) - Semicolon-delimited list of recipients (UTF-16LE).
- **pSubject** (*const u16) - Subject of the message (UTF-16LE).
- **pCC** (*const u16) - Semicolon-delimited list of CC recipients (UTF-16LE).
- **pBcc** (*const u16) - Semicolon-delimited list of BCC recipients (UTF-16LE).
- **pMsg** (*const u16) - Data buffer to be sent (UTF-16LE).
```
--------------------------------
### dash_phase
Source: https://docs.rs/pdfium-render/latest/pdfium_render/prelude/trait.PdfPageObjectCommon.html
Retrieves the line dash phase.
```APIDOC
## fn dash_phase(&self) -> Result
### Description
Returns the line dash phase that will be used when painting stroked path segments in this PdfPageObject.
```