Nutrient Web SDK

v0.0.0-dev

Class Font

This record is used to persist information related to custom fonts on Standalone deployments. Custom fonts need to be specified during the instance load and correctly fetched. They will be used while rendering the document contents and exporting its annotations.

Class

Example

Create a new Font object

const fetcher = name =>
fetch(`https://example.com/${name}`).then(r => {
if (r.status === 200) {
return r.blob();
} else {
throw new Error();
}
});

const customFonts = ["arial.ttf", "helvetica.ttf", "tahoma.ttf"]
.map(font => new NutrientViewer.Font({ name: font, callback: fetcher }));

NutrientViewer.load({
customFonts,
document: 'https://example.com/document.pdf'
}).then(instance => {});

Hierarchy

RecordFont

Constructors

  • Parameters

    args{ callback?: FontCallback; name: string }

Properties

Non-optional callback to fetch the custom font.

string | null

A unique identifier to name the custom font.

Immutable Record API

31
string

The name provided to Record(values, name) can be accessed with displayName.

  • Returns

    IterableIterator<
    [
    keyof { callback: FontCallback
    | null; name: string | null },
    string | FontCallback | null
    ]
    >
  • Returns

    this

    See Also

    • Map#asImmutable

  • Returns

    this

    See Also

    • Map#asMutable

  • Returns a new instance of this Record type with all values set to their default values.

    Returns

    this
  • Returns a new instance of this Record type with the value for the specific key set to its default value.

    Type Parameters

    Kextends keyof { callback: FontCallback | null; name: string | null }

    Parameters

    keyK

    Returns

    this
  • Parameters

    keyPathIterable<unknown>

    Returns

    this
  • Parameters

    otherunknown

    Returns

    boolean
  • Returns the value associated with the provided key, which may be the default value defined when creating the Record factory function.

    If the requested key is not defined by this Record type, then notSetValue will be returned if provided. Note that this scenario would produce an error when using Flow or TypeScript.

    Type Parameters

    Kextends keyof { callback: FontCallback | null; name: string | null }

    Parameters

    keyK
    notSetValueunknown
    Optional

    Returns

    { callback: FontCallback | null; name: string | null }[K]
  • Type Parameters

    T

    Parameters

    keystring
    notSetValueT

    Returns

  • Parameters

    keyPathIterable<unknown>

    Returns

    unknown
  • Parameters

    keystring

    Returns

    key is "name" | "callback"
  • Returns

    number
  • Parameters

    keyPathIterable<unknown>

    Returns

    boolean
  • Parameters

    ...collections(
    | Iterable<[string, unknown], any, any>
    | Partial<{ callback: FontCallback | null; name: string | null }>
    )[]

    Returns

    this
  • Parameters

    ...collections(
    | Iterable<[string, unknown], any, any>
    | Partial<{ callback: FontCallback | null; name: string | null }>
    )[]

    Returns

    this
  • Parameters

    keyPathIterable<unknown>
    ...collectionsunknown[]

    Returns

    this
  • Parameters

    merger(oldVal: unknown, newVal: unknown, key: unknown) => unknown
    ...collections(
    | Iterable<[string, unknown], any, any>
    | Partial<{ callback: FontCallback | null; name: string | null }>
    )[]

    Returns

    this
  • Parameters

    keyPathIterable<unknown>
    ...collectionsunknown[]

    Returns

    this
  • Parameters

    merger(
    oldVal: unknown,
    newVal: unknown,
    key: keyof { callback: FontCallback | null; name: string | null }
    ) => unknown
    ...collections(
    | Iterable<[string, unknown], any, any>
    | Partial<{ callback: FontCallback | null; name: string | null }>
    )[]

    Returns

    this
  • Type Parameters

    Kextends keyof { callback: FontCallback | null; name: string | null }

    Parameters

    keyK

    Returns

    this
  • Parameters

    keyPathIterable<unknown>

    Returns

    this
  • Type Parameters

    Kextends keyof { callback: FontCallback | null; name: string | null }

    Parameters

    keyK
    value{ callback: FontCallback | null; name: string | null }[K]

    Returns

    this
  • Parameters

    keyPathIterable<unknown>
    valueunknown

    Returns

    this
  • Deeply converts this Record to equivalent native JavaScript Object.

    Note: This method may not be overridden. Objects with custom serialization to plain JS may override toJSON() instead.

    Returns

    { callback: unknown; name: string | null }
  • Shallowly converts this Record to equivalent native JavaScript Object.

    Returns

    { callback: FontCallback | null; name: string | null }
  • Shallowly converts this Record to equivalent JavaScript Object.

    Returns

    { callback: FontCallback | null; name: string | null }
  • Returns

    Keyed<
    keyof { callback: FontCallback
    | null; name: string | null },
    string | FontCallback | null
    >
  • Type Parameters

    Kextends keyof { callback: FontCallback | null; name: string | null }

    Parameters

    keyK
    updater(
    value: { callback: FontCallback | null; name: string | null }[K]
    ) => { callback: FontCallback | null; name: string | null }[K]

    Returns

    this
  • Parameters

    keyPathIterable<unknown>
    updater(value: unknown) => unknown

    Returns

    this
  • Returns

    boolean

    See Also

    • Map#wasAltered

  • Note: Not all methods can be used on a mutable collection or within withMutations! Only set may be used mutatively.

    Parameters

    mutator(mutable: this) => unknown

    Returns

    this

    See Also

    • Map#withMutations