Brendan Bois
Brendan Bois
  • 1
  • 25 529
Nextjs and React PDF Tutorial: WATCH THIS BEFORE STARTING YOUR PDF
React-PDF tutorial, everything I had to deal with from start to finish and all the agonizing solutions I had to find along the way.
Github link:
github.com/bbois1999/react-pdf
How do I import font into React PDF?
How do I import images into React PDF?
Why isn't react pdf showing up on my browser?
PDFViewer and PDFDownloadLink not working in browser?
Error: PDFDownloadLink is a web specific API. You're either using this component on Node, or your bundler is not loading react-pdf from the appropriate web build.
TypeError: dispatcher.useSyncExternalStore is not a function
PDFDownloadLink TypeError: Cannot read properties of null (reading 'props')
[bug] × TypeError: Cannot read property 'props' of null
PDFDownloadLink work only work when render but hit error when reload page
dispatcher.useSyncExternalStore error PDFDownloadLink
dispatcher.useSyncExternalStore error
Warning: VIEW / is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements
DOCUMENT / is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements. [bug help wanted]
Error: Font family not registered: Inter. Please register it calling Font.register() method.
Переглядів: 25 533

Відео

КОМЕНТАРІ

  • @ytpeerz
    @ytpeerz 8 днів тому

    Dude it worked!!!!! thanks a bunch 🔥🔥🔥

  • @mingyangliu6910
    @mingyangliu6910 2 місяці тому

    Thank you! react-pdf is hard to use for real when used with nextjs

  • @ead5590
    @ead5590 3 місяці тому

    Its gonna be almost 2 years since this video was uploaded but this solution still holds true and most importantly, works! Thanks a lot for this Brendan! To those reading, if you UA-cam search 'React PDF' and a video shows up by the channel 'Arsalan' titled 'React PDF Basic setup'. DO NOT follow that for setting things up on NextJS. You're gonna error out. Just follow this video and be on your way to creating your PDF.. Thanks again Brendan! A fellow dev saves the day yet again! ✌🏻🫡

  • @josh4play.youtube
    @josh4play.youtube 4 місяці тому

    bro you literally saved my life - i downloaded the video just in case you ever take it down i have some refference

  • @jillasridatta7370
    @jillasridatta7370 4 місяці тому

    I am using SPFX(SharePoint Framework) with React And I have used react-pdf/renderer and I have done these things and also exactly that I have seen in documentations but I am getting an error in the console stating that bidi is not a function at textkit.js. Help me 🥹

  • @eternl_sunshine22
    @eternl_sunshine22 5 місяців тому

    make more vids bro

  • @adamczarny6482
    @adamczarny6482 6 місяців тому

    hugeee dose of knowledge

  • @Tsxtasy1
    @Tsxtasy1 7 місяців тому

    I really appreciate the video. I got mine working by importing pdfjs from react-pdf and setting pdfjs.GlobalWorkerOptions.workerSrc to legacy to get rid of the unexpected token error.Then created a types.d.ts file to set .pdf type to :any and added it to the tsconfig so that the application could find the module for import. I came to this video as a quick way to understand the rest of the API imports and how they work. I gotta say, take a breather before hitting record next time. I feel your pain, I was on this for 2 days. But it will reach a wider audience if you take some time before making the video to cool off and rehash the required steps in your head a few times

  • @jonathanadel3831
    @jonathanadel3831 8 місяців тому

    That was really helpful, thank you.

  • @knrking007
    @knrking007 9 місяців тому

    I had an issue with fs not defined or some issues ,this code worked for me module.exports = { webpack: (config, { isServer }) => { if (!isServer) { // Exclude 'fs' module from client-side bundle config.resolve.fallback = { ...config.resolve.fallback, fs: false, }; } return config; }, };

  • @GermansEagle
    @GermansEagle 9 місяців тому

    Ssr false is just removing server side rendering. You are making it a client component. In the new nextjs you don't need to do this. Just "use client"

  • @higorskowronskidesouza1692
    @higorskowronskidesouza1692 9 місяців тому

    Please, new Tutorial with Next - 14 !!

  • @rohanmiscelionius5074
    @rohanmiscelionius5074 9 місяців тому

    Error: PDFDownloadLink is a web specific API. You're either using this component on Node, or your bundler is not loading react-pdf from the appropriate web build. getting this error in production but works fine on local i did ll the steps same as shown in video i am using next js 13

  • @ifeoraokechukwu1346
    @ifeoraokechukwu1346 10 місяців тому

    You are a life-saver ! Thanks a lot 👍🏾👍🏾👍🏾👍🏾👍🏾👍🏾

  • @reactDevelopment
    @reactDevelopment 11 місяців тому

    in latest next js do this work

  • @vncstudio
    @vncstudio 11 місяців тому

    I finally got it to work but it is a hideous mess. It shows the original page as well as a raw text version and then the nav buttons are displayed on a third page. Going to take a look at your code.

  • @vncstudio
    @vncstudio 11 місяців тому

    I had a lot of issues trying to get this work yesterday!

  • @_jackmad
    @_jackmad Рік тому

    For Next.js 14 only write "use client" on top of your page.js file, before the import lines, below these lines, write const styles and const MyDocument functions ,inside page, write the useState and useEffect and inside the return the pdfViewer, to this tag add style={{ 'width': '100%', 'height': '100v' }} so that the PDFViewer is the full size on the page, with this you eliminate the need to place dynamic and create two different components, it works for me :D

  • @kyraezikeuzor
    @kyraezikeuzor Рік тому

    Thank you so much. Wow this is a big help.

  • @arturoordonez-hernandez8750

    Thanks for making this! I still have to rework this a bit for my use case at work, but thanks for helping me get started! I tried using react-to-pdf but I couldn't get it to work; it makes use of a componentRef and it was just complicating things for me with what I'm doing.

  • @arturoordonez-hernandez8750

    FYI: you'll need to run npm i next for your project to find dynamic, not npm i @next-tools/dynamic. As for the tiny PDF Viewer, try adding in some styles like so in your PDFView component (the one below where you have the <Document> as the root component): <PDFViewer style={{width:"100%", height:"100vh"}}>

  • @hassanbello1535
    @hassanbello1535 Рік тому

    Great tutorial! A useful alternative I found was to 'screenshot' whatever component I wanted rendered and render it as an image with react-pdf, with this I could add everything I wanted.

  • @vladimirplyukhin5234
    @vladimirplyukhin5234 Рік тому

    Awesome! Do you know how to open a PDF in a new tab?

  • @patrickrios99
    @patrickrios99 Рік тому

    thank you

  • @amatir-tutor2421
    @amatir-tutor2421 Рік тому

    How to create table?

  • @MaxSai-j9b
    @MaxSai-j9b Рік тому

    After git clone, if you see in the left corner white square try to change the font to some default like Font.register({ family: "Helvetica", src: "/path/to/helvetica.ttf" });

  • @yangenmanuel2659
    @yangenmanuel2659 Рік тому

    Amazing bro! Did you have the error: PDFViewer is a web specific API. You're either using this component on Node, or your bundler is not loading react-pdf from the appropriate web build. When building the application? I`m having problems with that Thanks for the help!

    • @nevajnosovsem2369
      @nevajnosovsem2369 Рік тому

      Hi. Do you know how to turn a PDF into a Blob? i cant take anymore.....

    • @yangenmanuel2659
      @yangenmanuel2659 Рік тому

      @@nevajnosovsem2369 got no idea how to do it. If you know how to i will be really thankful.

    • @yangenmanuel2659
      @yangenmanuel2659 Рік тому

      @@nevajnosovsem2369 I found the solution! On your next.config file you should add: const nextConfig = { /* all your config */ swcMinify: false, }

  • @huynhkieu5236
    @huynhkieu5236 Рік тому

    Thank you so much. You save me <3

    • @nevajnosovsem2369
      @nevajnosovsem2369 Рік тому

      Hi. Do you know how to turn a PDF into a Blob? i cant take anymore.....

  • @kyosukefukumoto9382
    @kyosukefukumoto9382 Рік тому

    I love how you explain everything haha can you import pdf like you've done with an Image?

  • @shubhamkumbhakar2389
    @shubhamkumbhakar2389 Рік тому

    chutiya video

  • @tiifuhamza1397
    @tiifuhamza1397 Рік тому

    Hello there. Thank you for this wonderful video. i have struggled over this bug for a month.Thank You and more videos

  • @traam_889
    @traam_889 Рік тому

    Almost shot myself, this was driving me crazy lmao

  • @TareiKing-j6z
    @TareiKing-j6z Рік тому

    I don't even need to use this packaging, but I stayed to watch because you are awesome! Can feel the 'pain' you went through, thanks for sharing.

  • @ryadallali4340
    @ryadallali4340 Рік тому

    i got this err : Error: PDFViewer is a web specific API. You're either using this component on Node, or your bundler is not loading react-pdf from the appropriate web build. This error happened while generating the page. Any console logs will be displayed in the terminal window.

    • @brendanbois5365
      @brendanbois5365 Рік тому

      I'm sorry it's been so long since I've done anything with this. If I were you I'd ask chatGPT lol, it legit might know exactly how to fix this

  • @abhisycvirat
    @abhisycvirat Рік тому

    I am getting this error Any idea to fix this ./node_modules/@react-pdf/font/lib/index.browser.es.js Attempted import error: 'create' is not exported from 'fontkit' (imported as 'fontkit').

  • @georgesngandeu9115
    @georgesngandeu9115 Рік тому

    Thank you, if you want to display the pdf with a larger height and width, just add a class to pdfViewer and set the desired width and height in the class. For small screen use media query to transition

  • @MarvelCodes
    @MarvelCodes Рік тому

    “I don’t know what that means, I just know that this works” - The stranger that saved my job.

    • @tuffilaro1565
      @tuffilaro1565 Рік тому

      "This knowledge has been passed down for generations" vibe

    • @ytpeerz
      @ytpeerz 8 днів тому

      got laughing harder than I want to admit 🤣🤣

  • @ramizazhar8891
    @ramizazhar8891 Рік тому

    If you guys wondering why your custom font doesn’t work. Just try on style on <View> component, not <Text> component.

  • @Elxroid
    @Elxroid Рік тому

    dude legit kekw's in a dev tutorial at 6:23 Thanks for the vid defo let me know of a few pitfalls I didn't realise I was already in

  • @ramizazhar8891
    @ramizazhar8891 Рік тому

    you can style the PDFViewer component with 100% width or anything you want.

  • @danieltorres7634
    @danieltorres7634 Рік тому

    Gracias por el video. Para la comunidad latina

  • @DaniBZone
    @DaniBZone Рік тому

    Is there a way to make it bigger? Instead of zooming in the pdf? It's pretty hard

    • @ramizazhar8891
      @ramizazhar8891 Рік тому

      I use tailwind, <PDFViewer className="w-full h-screen"> <PDF /> </PDFViewer>

    • @MarvelCodes
      @MarvelCodes Рік тому

      global.css set an iFrame css declaration and give the height and width you want, the Document tag fills it up.

  • @petrsonTD
    @petrsonTD Рік тому

    Dude you dont even know how large problem it was for me load image to my pdf. it's always said it cant get to it. Then I remembered that I week ago I watched this video and you said to use folder ...publick/assets. you saved me.

  • @extensus4842
    @extensus4842 Рік тому

    Great video, was incredibly helpful. The fix to the size I found is adjusting the width and height in a global stylesheet on the Iframes.

  • @marekchoinski5431
    @marekchoinski5431 Рік тому

    Thank you, it was very helpful

  • @faustozambrano4901
    @faustozambrano4901 Рік тому

    Thanks for letting me out the gutter, budd

  • @CoderMK
    @CoderMK Рік тому

    Hi thanks for help can you help me with challenge I would really appreciate I want to create content table page like we have in books, problem is I don't know how to assign page number to in content table because I don't know how many pages chapter 1 will take and chapter 2 will start at what

  • @shytypes1028
    @shytypes1028 Рік тому

    may your days be long and filled with the lustfully desires of all neards and developers all over the world. you just saved my ass.

  • @malaizyogmuzumala7736
    @malaizyogmuzumala7736 Рік тому

    Thanks alot man, is it possible to create PDFs with dynamic content, like a receipt or something?

    • @AlexGalo0
      @AlexGalo0 Рік тому

      this is what i need to know

  • @gobindsingh212
    @gobindsingh212 2 роки тому

    I love the enthusiasm and how you're so fired up to share your knowledge. You earned a sub :)