Skip to content

Latest commit

Β 

History

History
879 lines (566 loc) Β· 51.1 KB

File metadata and controls

879 lines (566 loc) Β· 51.1 KB

@react-pdf/renderer

4.8.1

Patch Changes

4.8.0

Minor Changes

Patch Changes

4.7.0

Minor Changes

  • #3505 ae9a9983e8bd8b63c3873000531a8307e22c7bae Thanks @diegomura! - Experimental pagination engine, opt-in per page

    A new pagination engine ships alongside the current one: content is measured once and packed into pages instead of relayouting on every split, making long documents paginate orders of magnitude faster (a 300-page document drops from ~40s to ~200ms).

    Opt in with <Page experimentalPagination> β€” any page opting in switches the whole document. The default behavior is unchanged.

    Under the new engine:

    • <Page layout={Layout}> renders per-page chrome (headers, footers, sidebars) around the content. The layout component receives { pageNumber, totalPages, subPageNumber, subPageTotalPages } and the page content as children, and runs once per output page. Using layout implies experimentalPagination.
    • One fixed semantic: in-flow fixed elements repeat at the top of every page they span; footers are the layout's job.
    • minPresenceAhead is supported, with one refinement: a trailing element with nothing after it stays in place instead of moving to its own page.

    The current engine remains the default until the next major, when the new engine takes over.

  • #3500 572cedc23493e4a3085e259bf129ceec458418bd Thanks @diegomura! - Move render-prop element conversion from layout to the renderer

    Render props are now wrapped at the reconciler boundary: by the time layout calls them they return internal instances, not React elements. Layout's createInstances is deleted and resolvePagination consumes instances directly.

    Breaking (layout): anyone calling @react-pdf/layout directly with trees whose render props return React elements must convert the result before handing it to layout β€” the contract is now instance arrays. Users of @react-pdf/renderer are unaffected: the renderer performs the conversion.

Patch Changes

4.6.1

Patch Changes

4.6.0

Minor Changes

Patch Changes

4.5.1

Patch Changes

  • #3386 cbce7149 Thanks @diegomura! - Add pdfkit table mixin as part of unification plan

  • Updated dependencies [598cf0c6, cbce7149]:

    • @react-pdf/pdfkit@5.1.1
    • @react-pdf/font@4.0.8
    • @react-pdf/layout@4.6.1
    • @react-pdf/render@4.5.1
    • @react-pdf/types@2.11.1

4.5.0

Minor Changes

Patch Changes

  • Updated dependencies [ccfcc632, 0138fddd, b01f5b72, 27d1b487, 4444f355]:
    • @react-pdf/pdfkit@5.1.0
    • @react-pdf/layout@4.6.0
    • @react-pdf/render@4.5.0
    • @react-pdf/primitives@4.3.0
    • @react-pdf/types@2.11.0
    • @react-pdf/font@4.0.7

4.4.1

Patch Changes

  • #3351 e585e352 Thanks @diegomura! - fix(render): border rendering + tests

  • Updated dependencies [e585e352]:

    • @react-pdf/render@4.4.1
    • @react-pdf/layout@4.5.1

4.4.0

Minor Changes

Patch Changes

4.3.3

Patch Changes

4.3.2

Patch Changes

  • Updated dependencies [f034491b, 2eba70bd, fafbcb12, cc1aff24]:
    • @react-pdf/pdfkit@4.1.0
    • @react-pdf/reconciler@2.0.0
    • @react-pdf/layout@4.4.2
    • @react-pdf/font@4.0.4
    • @react-pdf/render@4.3.2
    • @react-pdf/types@2.9.2

4.3.1

Patch Changes

  • #3124 dcc7b403 Thanks @pcorpet! - feat(pdfdownloadlink): add a ref to the link component

  • Updated dependencies [beaffd3d, a99d10fb, 5cbe2fb0, ec063bec]:

    • @react-pdf/layout@4.4.1
    • @react-pdf/pdfkit@4.0.4
    • @react-pdf/render@4.3.1
    • @react-pdf/font@4.0.3
    • @react-pdf/types@2.9.1

4.3.0

Minor Changes

Patch Changes

  • 01b4ff5c Thanks @diegomura! - fix: debug prop

  • Updated dependencies [01b4ff5c, f89f75c1, 106699e8]:

    • @react-pdf/render@4.3.0
    • @react-pdf/layout@4.4.0
    • @react-pdf/types@2.9.0
    • @react-pdf/pdfkit@4.0.3
    • @react-pdf/font@4.0.2

4.2.4

Patch Changes

  • Updated dependencies [b95a6dc4, e257f7ee]:
    • @react-pdf/reconciler@1.1.4
    • @react-pdf/layout@4.3.1
    • @react-pdf/font@4.0.1
    • @react-pdf/render@4.2.1
    • @react-pdf/types@2.8.2

4.2.3

Patch Changes

4.2.2

Patch Changes

4.2.1

Patch Changes

  • Updated dependencies []:
    • @react-pdf/layout@4.2.2
    • @react-pdf/render@4.1.1

4.2.0

Minor Changes

Patch Changes

4.1.6

Patch Changes

  • Updated dependencies [18834efa]:
    • @react-pdf/layout@4.2.0

4.1.5

Patch Changes

  • Updated dependencies [1916e840, 165c70fb]:
    • @react-pdf/reconciler@1.1.3
    • @react-pdf/layout@4.1.3
    • @react-pdf/render@4.0.2

4.1.4

Patch Changes

  • Updated dependencies [f6e9e113]:
    • @react-pdf/reconciler@1.1.2

4.1.3

Patch Changes

4.1.2

Patch Changes

4.1.1

Patch Changes

  • Updated dependencies [82192b3a]:
    • @react-pdf/reconciler@1.1.1

4.1.0

Minor Changes

Patch Changes

  • Updated dependencies [52b2f253]:
    • @react-pdf/reconciler@1.1.0

4.0.2

Patch Changes

4.0.1

Patch Changes

  • Updated dependencies [58f9a047]:
    • @react-pdf/layout@4.0.1

4.0.0

Major Changes

Minor Changes

Patch Changes

3.4.5

Patch Changes

3.4.4

Patch Changes

  • Updated dependencies [22a34a9]:
    • @react-pdf/types@2.5.0
    • @react-pdf/font@2.5.1
    • @react-pdf/layout@3.12.1
    • @react-pdf/render@3.4.4

3.4.3

Patch Changes

  • Updated dependencies [67c265a, 713690c]:
    • @react-pdf/layout@3.12.0
    • @react-pdf/font@2.5.0
    • @react-pdf/pdfkit@3.1.10

3.4.2

Patch Changes

  • Updated dependencies [e2d21a4]:
    • @react-pdf/pdfkit@3.1.9
    • @react-pdf/layout@3.11.5

3.4.1

Patch Changes

  • Updated dependencies [68bfc57]:
    • @react-pdf/pdfkit@3.1.8
    • @react-pdf/layout@3.11.4

3.4.0

Minor Changes

Patch Changes

  • Updated dependencies [da10a9b, 087ee22]:
    • @react-pdf/pdfkit@3.1.7
    • @react-pdf/layout@3.11.3

3.3.8

Patch Changes

  • Updated dependencies [dc54c13]:
    • @react-pdf/pdfkit@3.1.6
    • @react-pdf/layout@3.11.2

3.3.7

Patch Changes

  • #2605 f7505ed Thanks @wojtekmaj! - fix: fix CJS compatibility

  • Updated dependencies [f7505ed]:

    • @react-pdf/layout@3.11.1
    • @react-pdf/render@3.4.3
    • @react-pdf/font@2.4.4
    • @react-pdf/pdfkit@3.1.5

3.3.6

Patch Changes

  • Updated dependencies [9af07fe, 8350154]:
    • @react-pdf/layout@3.11.0
    • @react-pdf/types@2.4.1
    • @react-pdf/pdfkit@3.1.4
    • @react-pdf/font@2.4.3
    • @react-pdf/render@3.4.2

3.3.5

Patch Changes

  • Updated dependencies [0590324]:
    • @react-pdf/pdfkit@3.1.3
    • @react-pdf/layout@3.10.4

3.3.4

Patch Changes

  • Updated dependencies [44bd45b]:
    • @react-pdf/pdfkit@3.1.2
    • @react-pdf/layout@3.10.3

3.3.3

Patch Changes

3.3.2

Patch Changes

  • Updated dependencies [fb5273d, cfd050c]:
    • @react-pdf/render@3.4.0
    • @react-pdf/types@2.4.0
    • @react-pdf/font@2.4.2
    • @react-pdf/layout@3.10.2

3.3.1

Patch Changes

3.3.0

Minor Changes

Patch Changes

  • #2519 cf73180 Thanks @wojtekmaj! - Fix props unnecessarily required in LinearGradient and RadialGradient in TypeScript
  • #2516 66a40b2 Thanks @wojtekmaj! - Allow in TypeScript

  • Updated dependencies [9e5842b, 0f5c43f]:

    • @react-pdf/types@2.3.6
    • @react-pdf/layout@3.10.0
    • @react-pdf/font@2.4.1
    • @react-pdf/render@3.3.2

3.2.1

Patch Changes

  • Updated dependencies [42bbbda]:
    • @react-pdf/primitives@3.1.1
    • @react-pdf/layout@3.9.1
    • @react-pdf/render@3.3.1

3.2.0

Minor Changes

Patch Changes

  • Updated dependencies [e705d98, 6bfe7e8, b6a14fd, c8fe2c8, 96ea576]:
    • @react-pdf/layout@3.9.0
    • @react-pdf/render@3.3.0
    • @react-pdf/primitives@3.1.0
    • @react-pdf/pdfkit@3.1.0
    • @react-pdf/font@2.4.0

3.1.17

Patch Changes

  • Updated dependencies [0538bd9]:
    • @react-pdf/layout@3.8.0

3.1.16

Patch Changes

3.1.15

Patch Changes

  • Updated dependencies [4cfb84d]:
    • @react-pdf/pdfkit@3.0.3
    • @react-pdf/layout@3.6.4

3.1.14

Patch Changes

  • Updated dependencies [4a55c1b]:
    • @react-pdf/types@2.3.4
    • @react-pdf/layout@3.6.3
    • @react-pdf/font@2.3.7
    • @react-pdf/render@3.2.7

3.1.13

Patch Changes

  • #2406 3b5e1c7 Thanks @JoachimKoenigslieb! - Added an optional callback to the updateContainer method. This allows the user of the pdf instance to know when the update operation is finished in React. As this is an optional argument, no user code should be changed.

3.1.12

Patch Changes

  • #2247 6d408c8 Thanks @jeetiss! - ### updates for usePDF hook

    update function takes the new document and renders it:

    const PdfView = () => {
      const [pdf, update] = usePdf();
    
      useEffect(() => {
        update(<PDFDocument />);
      }, []);
    
      if (pdf.loading) return null;
    
      // use your PDF here
      return <>{pdf.url}</>;
    };

3.1.11

Patch Changes

  • Updated dependencies [5385a43, 1e1fbdc, 8636812]:
    • @react-pdf/render@3.2.6
    • @react-pdf/types@2.3.3
    • @react-pdf/font@2.3.6
    • @react-pdf/layout@3.6.2

3.1.10

Patch Changes

  • #2314 d6018d5 Thanks @wojtekmaj! - Make cx and cy optional in Circle and Ellipse

  • Updated dependencies [a25dbcb, 2e724df, d6018d5]:

    • @react-pdf/types@2.3.2
    • @react-pdf/render@3.2.5
    • @react-pdf/font@2.3.5
    • @react-pdf/layout@3.6.1

3.1.9

Patch Changes

  • Updated dependencies [d48039c]:
    • @react-pdf/layout@3.6.0

3.1.8

Patch Changes

  • #2236 37bfa1b Thanks @jeetiss! - remove loose-envify dependency

  • Updated dependencies [47e91cb]:

    • @react-pdf/layout@3.5.1
    • @react-pdf/types@2.3.1
    • @react-pdf/font@2.3.4
    • @react-pdf/render@3.2.4

3.1.7

Patch Changes

  • #2229 b194b61 Thanks @jeetiss! - deprecate renderToString use renderToBuffer instead

  • Updated dependencies [2db67a3]:

    • @react-pdf/layout@3.5.0
    • @react-pdf/types@2.3.0
    • @react-pdf/render@3.2.3
    • @react-pdf/font@2.3.3

3.1.6

Patch Changes

  • #2211 f6667e7 Thanks @jeetiss! - configure automatic runtime for react

  • Updated dependencies [9a5e0be]:

    • @react-pdf/layout@3.4.1
    • @react-pdf/pdfkit@3.0.2
    • @react-pdf/render@3.2.2
    • @react-pdf/font@2.3.2

3.1.5

Patch Changes

  • #2201 75150ca Thanks @jeetiss! - Reveal layout data in onRender callback

    This is an experimental API, and it will change in the future. Use it at your own risk

3.1.4

Patch Changes

  • Updated dependencies [c981784]:
    • @react-pdf/layout@3.4.0

3.1.3

Patch Changes

3.1.2

Patch Changes

3.1.1

Patch Changes

3.1.0

Minor Changes

Patch Changes

  • #2149 54e9625 Thanks @jeetiss! - Fix "Invalid" error when a text label is a child of a Tspan element
  • #1798 17a8006 Thanks @karlhorky! - fix types for @types/react@18

  • Updated dependencies [a743c90]:

    • @react-pdf/layout@3.3.0
    • @react-pdf/types@2.2.0

3.0.3

Patch Changes

3.0.2

Patch Changes

3.0.1

Patch Changes

3.0.0

Major Changes

Minor Changes

Patch Changes

2.3.0

Minor Changes

Patch Changes

2.2.0

Minor Changes

Patch Changes

2.1.2

Patch Changes

2.1.1

Patch Changes

  • #1681 4eddbf5 Thanks @dschu-lab! - defined renderToStream to return promise

  • Updated dependencies [90ab2f8]:

    • @react-pdf/font@2.1.1
    • @react-pdf/layout@2.1.1

2.1.0

Minor Changes

Patch Changes