1.4.1 • Published 4 days ago

@pdfslick/solid v1.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 days ago

readme-header

Getting Started | Examples


PDFSlick for Solid is a library that enables viewing of and interaction with PDF documents in SolidJS apps. It's build on top of Mozilla's PDF.js, and utilises Zustand to provide a reactive store for the loaded documents.

Getting started with PDFSlick for SolidJS

To get started with PDFSlick for SolidJS run:

npm install @pdfslick/solid
# yarn add @pdfslick/solid
# pnpm add @pdfslick/solid

You can start using PDFSlick with the usePDFSlick() hook, like with the following basic example:

import { Component, createSignal } from "solid-js";
import { usePDFSlick } from "@pdfslick/solid";
import PDFNavigation from "./yourcomponents/PDFNavigation";

//
// It is required to include PDFSlick's CSS styles once
// you can do it in your main `App.tsx` for example
//
import "@pdfslick/solid/dist/pdf_viewer.css";

type PDFViewerComponentProps = {
  pdfFilePath: string,
};

const PDFViewerComponent: Component<PDFViewerComponentProps> = ({
  pdfFilePath,
}) => {
  const {
    viewerRef,
    pdfSlickStore: store,
    PDFSlickViewer,
  } = usePDFSlick(pdfFilePath);

  return (
    <div class="absolute inset-0 flex flex-col pdfSlick">
      <div class="flex-1 relative h-full">
        <PDFSlickViewer {...{ store, viewerRef }} />

        {/*
          Pass PDFSlick's store to your custom components (like the `<PDFNavigation />` below) —
          Toolbars, Sidebars, components which render thumbnails etc.
          and use it as here to get and react on 
          PDF document and viewer properties and changes
        */}
        <PDFNavigation {...{ store }} />

        {/*
          PDFSlick's store values automatically update
        */}
        <div className="absolute w-full top-0 left-0">
          <p>Current scale: {store.scale}</p>
          <p>Current page number: {store.pageNumber}</p>
          <p>Total number of pages: {store.numPages}</p>
        </div>
      </div>
    </div>
  );
};

export default PDFViewerComponent;

Provided with the PDF Document path and options object, the usePDFSlick() hook returns an object consisting (among the other things) of:

  • PDFSlickViewer is the PDF Viewer component used for viewing the PDF document
  • viewerRef is the ref callback that is provided as a prop to the <PDFSlickViewer /> component
  • pdfSlickStore is the PDFSlick store

More on using PDFSlick with Solid | Checkout the SolidJS Examples

Thanks

1.4.1

4 days ago

1.4.0

29 days ago

1.3.0

3 months ago

1.2.7

5 months ago

1.2.6

6 months ago

1.2.5

6 months ago

1.2.4

7 months ago

1.2.3

8 months ago

1.2.2

9 months ago

1.2.1

10 months ago

1.2.0

12 months ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago