برنامه نویسی

چگونه با استفاده از React PDF Viewer یک PDF را در Next.js نمایش دهیم؟

این وبلاگ در مورد نحوه نمایش فایل PDF در برنامه Next.js صحبت می کند.

پیش نیازها

1. با دستور زیر یک پروژه Next.js ایجاد کنید

npx create-next-app@latest
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دستورالعمل ها را دنبال کنید و یک پروژه Next.js جدید ایجاد خواهد شد.

2. پروژه Next.js را اجرا کنید

دستور زیر را در ترمینال تایپ کنید.

npm run dev
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک مرورگر وب مانند کروم را باز کنید و به http://localhost:3000 بروید. پروژه جدید Next.js خود را در حال اجرا خواهید دید.

برنامه Next.js

اکنون از کامپوننت React PDF viewer برای نمایش فایل PDF در صفحه استفاده می کنیم.

برای شروع می توانید به این مستندات مراجعه کنید: شروع به کار — React PDF Viewer

مراحل استفاده از React PDF Viewer:

1. چند بسته نصب کنید

npm install pdfjs-dist@3.4.120
npm install @react-pdf-viewer/core@3.12.0
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. کد اصلی را کپی کنید

به این صفحه بروید و کد را در آن قرار دهید page.js داخل پروژه

import { Viewer, Worker } from "@react-pdf-viewer/core";

export default function Home() {
  return (
    
); }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. پروژه را اجرا کنید

به احتمال زیاد با خطا مواجه خواهید شد.

خطای زمان اجرا در nextjs

این یک خطای بسیار رایج در Next.js در مورد استفاده از اجزای مشتری است.

اساساً فقط می گوید که مؤلفه React PDF Viewer از کدهایی استفاده می کند که فقط روی مؤلفه های مشتری کار می کند و نه مؤلفه های سرور.

4. خطای سرور را برطرف کنید

کاری که باید انجام دهید این است که فقط تایپ کنید “use client” در بالای صفحه شما

حالا، کد کلی این می شود

اسکرین شات کد با استفاده از سرویس گیرنده در بالا

5. پروژه را دوباره اجرا کنید

حال با خطای دیگری مواجه خواهید شد.

توضیحات تصویر

این خطا زمانی رخ می دهد که در نسخه های worker و the عدم تطابق وجود داشته باشد pdfjs-dist بسته بندی

برای رفع این مشکل، فقط نسخه را تغییر دهید pdfjs-dist درون workerUrl به 3.4.120.


وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر اکنون اجرا کنید، پی دی اف در حال نمایش در صفحه را خواهید دید.

توضیحات تصویر

اما دست نگه دار! یه چیز عجیبی هست

به سمت راست صفحه نگاه کنید، پس زمینه سیاهی وجود دارد که عجیب به نظر می رسد.

6. کپی سبک ها

برای درست کردن استایل، استایل ها را از این صفحه کپی و پیست کنید

// Import the styles provided by the react-pdf-viewer packages
import "@react-pdf-viewer/default-layout/lib/styles/index.css";
import "@react-pdf-viewer/core/lib/styles/index.css";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون با یک خطای دیگر مواجه خواهید شد:

Module not found: Error: Can't resolve '@react-pdf-viewer/default-layout/lib/styles/index.css'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای حل این مشکل، این بسته را نصب کنید:

npm install @react-pdf-viewer/default-layout
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون، وابستگی های نهایی هستند

توضیحات تصویر

7. پروژه را برای آخرین بار اجرا کنید

پس از اجرای پروژه در حال حاضر، PDF در صفحه کامل نمایش داده می شود.

توضیحات تصویر

کد نهایی

"use client";
import { Viewer, Worker } from "@react-pdf-viewer/core";
import "@react-pdf-viewer/default-layout/lib/styles/index.css";
import "@react-pdf-viewer/core/lib/styles/index.css";

export default function Home() {
  return (
    
); }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نتیجه

در این پست وبلاگ، دیدیم که چگونه می توانید پیش نمایش PDF را در یک صفحه در برنامه Nextjs نمایش دهید.

بیشتر بخوانید:

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا