پی دی اف

کتابخانه‌ای برای افزودن قابلیت‌های مشاهده‌ی فایل‌های PDF در داخل برنامه‌ها.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۲۲ اکتبر ۲۰۲۵ - - - ۱.۰.۰-آلفا۱۱

اعلام وابستگی‌ها

برای افزودن وابستگی به pdf، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven گوگل را مطالعه کنید.

وابستگی‌های مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha11"
}

کاتلین

dependencies {
    implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha11")
}

برای اطلاعات بیشتر در مورد وابستگی‌ها، به «افزودن وابستگی‌های ساخت» مراجعه کنید.

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

هیچ یادداشت انتشاری برای این مصنوع وجود ندارد.

نسخه ۱.۰

نسخه ۱.۰.۰-آلفا۱۱

۲۲ اکتبر ۲۰۲۵

androidx.pdf:pdf-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • فعال کردن آیتم‌های منوی هوشمند در انتخاب محتوای pdf.
  • فعال کردن انتخاب هایپرلینک و انتخاب لینک GoTo در pdf.
  • ارائه API منوی انتخاب fromPdfView و PdfViewer Composable که به توسعه‌دهندگان امکان می‌دهد آیتم‌های منوی انتخاب را اضافه کنند.
  • اضافه کردن API ترازبندی صفحه در PdfView و PdfViewer Composable که به توسعه‌دهندگان اجازه می‌دهد ترازبندی صفحه را زمانی که ارتفاع محتوا کمتر از ارتفاع نمای دید است، انتخاب کنند.

تغییرات API

  • contentDesc را قابل تهی‌سازی کرد و مقدار پیش‌فرض را حذف کرد. ( I86f8c ، b/441973880 )
  • نمایش PdfSelectionMenuKeys منوی انتخاب پیوند ( PdfSelectionMenuKeys )
  • اضافه کردن API PageAlignment به PdfView و PdfViewer در androidx-main
  • API مربوط به زاویه را تغییر دهید تا از درجه استفاده کند و واحد را در نام‌ها بگنجاند، در مورد واحدها در ابزارهای تبدیل زاویه شفاف باشید و از درجه و رادیان پشتیبانی کنید، API StockBrushes را تغییر دهید تا نسخه قلم‌موهای موجود را به عنوان یک پارامتر تابع کارخانه‌ای دریافت کند و کنترل رفتار همپوشانی خودکار را برای قلم‌موهای هایلایت‌کننده نمایش دهد، نام MutableAffineTransform.populateFromTranslate را به populateFromTranslation تغییر دهید، InProgressStrokesView.setRenderFactory/getRenderFactory را حذف کنید. ( Id9eab ، b/436656418 )
  • اضافه کردن API PageAlignment به PdfView و PdfViewer ( I9c9a5 ، b/438065228 )
  • نمایش API منوی انتخاب از PdfViewer Composable ( Id9b0f ، b/407663999 )
  • PdfView به یک ViewGroup تبدیل کنید. از فرزندهای دلخواه پشتیبانی نمی‌کند. ( Ib51d8 ، b/410008792 )
  • نمایش HyperLinkSelection و GoToLinkSelection از PdfView ( I378c4 ، b/441280002 )
  • PdfPageContent برای پشتیبانی از انتخاب‌های عمومی ( I28f16 ، b/437845185 ) ریفکتور کنید.
  • نمایش API منوی انتخاب از PdfView ( Idd547 ، b/407663737 )
  • کلاس‌های مربوط به انتخاب را به یک بسته اختصاصی ( I953cb ، b/436157691 ) منتقل کنید.
  • معرفی آزمایشی onPdfViewCreated برای دسترسی به PdfView در PdfViewerFragment . ( I86715 ، b/422620454 )
  • API FileDescriptor به PdfLoader اضافه می کند ( I60b8d )

رفع اشکالات

  • بهبود مدل‌سازی ورودی برای انعکاس دقیق‌تر ورودی توسط خطوط ( I93097 )

مشارکت خارجی

  • نمایش کلیدهای منوی انتخاب پیوند PdfSelectionMenuKeys
  • نمایش API منوی انتخاب از PdfViewer Composable
  • نمایش API منوی انتخاب از PdfView

نسخه ۱.۰.۰-آلفا۱۰

۱۶ ژوئیه ۲۰۲۵

androidx.pdf:pdf-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • انتخاب پیشرفته‌ای که به کاربران اجازه می‌دهد با کشیدن دستگیره‌های انتخاب فراتر از مرزهای صفحه، متن را در چندین صفحه انتخاب کنند.
  • برنامه‌ها اکنون می‌توانند کلیک‌های هایپرلینک را در اسناد PDF رهگیری و سفارشی‌سازی کنند.

تغییرات API

  • یک Composable برای ارائه محتوای PDF ارائه می‌دهد ( I8e7ee )
  • انتقال PdfPoint و PdfRect به بسته androidx.pdf.models ( I26cf4 )
  • یک کامپوننت View برای نمایش محتوای PDF ارائه می‌دهد ( I9fe27 )
  • API را برای مقداردهی اولیه منابع pdf قبل از زمان و کاهش تأخیر شروع سرد ( a18fa89 ) در معرض نمایش قرار می‌دهد.
  • API را برای لغو مدیریت کلیک هایپرلینک روی محتوای PDF در معرض نمایش قرار می‌دهد ( 6330a8b )
  • یک سرویس جدید pdf-document-service و API های مربوطه - PdfLoader ، PdfDocument و SandboxedPdfLoader - را ارائه می‌دهد. این رابط‌ها می‌توانند برای پیاده‌سازی مؤلفه تجزیه و پردازش سند PDF ( Ide70d ) استفاده شوند.
  • یک API برای تنظیم PdfDocument روی PdfView جهت مقداردهی اولیه رندر سند ارائه می‌دهد ( If8738 )

نسخه ۱.۰.۰-آلفا۰۹

۷ مه ۲۰۲۵

androidx.pdf:pdf-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیت‌ها است.

تغییرات عمده

  • کدبیس دستخوش یک بازسازی اساسی شده و اکنون کاملاً با کاتلین نوشته شده است و از Coroutineها و ViewModel استفاده می‌کند. این شامل پیاده‌سازی مجدد PdfViewerFragment نیز می‌شود. این نسخه هیچ API یا ویژگی جدیدی را شامل نمی‌شود.

مشکلات شناخته شده:

  • اسکرول سریع و نشانگر صفحه فاقد جلوه‌های سایه هستند.
  • اسناد PDF تک صفحه‌ای ممکن است همیشه در مرکز صفحه قرار نگیرند و به اندازه عرض نما مقیاس‌بندی نشوند.

تغییرات API

  • containerStyleResId با @StyleRes حاشیه‌نویسی کنید ( I88d85 )

نسخه ۱.۰.۰-آلفا۰۸

۱۲ مارس ۲۰۲۵

androidx.pdf:pdf-document-service:1.0.0-alpha08 ، androidx.pdf:pdf-viewer:1.0.0-alpha08 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 منتشر شدند. نسخه 1.0.0-alpha08 شامل این کامیت‌ها است.

رفع اشکالات

  • مشکل ناهماهنگی در قرارگیری منوی انتخاب بین دستگاه‌های مختلف اندروید به دلیل تفاوت در مقیاس‌بندی برطرف شد. اکنون قرارگیری منوی انتخاب در بین دستگاه‌ها ثابت است.
  • موقعیت اسکرول سریع و نشانگر صفحه در هنگام بازآفرینی قطعه کد در سناریوهایی مانند تغییر پیکربندی و غیره تراز شده است.

نسخه ۱.۰.۰-آلفا۰۷

۲۶ فوریه ۲۰۲۵

androidx.pdf:pdf-document-service:1.0.0-alpha07 ، androidx.pdf:pdf-viewer:1.0.0-alpha07 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 منتشر شدند. نسخه 1.0.0-alpha07 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • PdfViewerFragment اکنون از StylingOptions (مجموعه‌ای از شناسه‌های منبع استایل) پشتیبانی می‌کند که امکان استایل‌بندی سفارشی را از طریق newInstance یا XML ( FragmentContainerView ) فراهم می‌کند. زیرکلاس‌ها می‌توانند از سازنده protected برای عملکردهای مشابه استفاده کنند.
  • StylingOptions در حال حاضر containerStyle را می‌گیرد که موارد زیر را ارائه می‌دهد:
    • پشتیبانی از قابلیت رسم سفارشی برای دسته اسکرول سریع و نشانگر صفحه.
    • ویژگی marginEnd برای موقعیت‌یابی دقیق دستگیره‌ی اسکرول سریع و نشانگر صفحه.

تغییرات API

  • جذابیت‌های عمومی از PdfView ( I30fc5 ) اضافه شد
  • API های جدید StylingOptions برای مشاهده PDF اضافه شد. ( Id2993 )

رفع اشکالات

  • مشکل عدم تطابق همگام‌سازی بین دسته اسکرول سریع و وضعیت نمایش نشانگر صفحه برطرف شد.

نسخه ۱.۰.۰-alpha06

۲۹ ژانویه ۲۰۲۵

androidx.pdf:pdf-document-service:1.0.0-alpha06 ، androidx.pdf:pdf-viewer:1.0.0-alpha06 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 منتشر شدند. نسخه 1.0.0-alpha06 شامل این کامیت‌ها است.

رفع اشکالات

  • رفع مشکل: خرابی ناشی از IllegalArgumentException هنگام لغو اتصال سرویسی که ثبت نشده است ( eb4e85 )
  • رفع اشکال: خطای IllegalArgumentException به دلیل تفاوت در mMaxPages و numPages ( 75d763 )

نسخه ۱.۰.۰-آلفا۰۵

۱۱ دسامبر ۲۰۲۴

androidx.pdf:pdf-document-service:1.0.0-alpha05 ، androidx.pdf:pdf-viewer:1.0.0-alpha05 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 منتشر شدند. نسخه 1.0.0-alpha05 شامل این کامیت‌ها است.

رفع اشکالات

  • این کتابخانه اکنون از حاشیه‌نویسی‌های nullness از نوع JSpecify استفاده می‌کند که از نوع type-use هستند. توسعه‌دهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش‌فرض است که از نسخه ۲.۱.۰ کامپایلر کاتلین شروع می‌شود). ( I38301 ، b/326456246 )
  • مشکل نمایش صفحه باز شده قبلی پس از چرخش در اندروید ۱۳ برطرف شد. ( Ib03dd )
  • مشکل ناپدید شدن جعبه ابزار هنگام چرخش برطرف شد. ( 01148f )

نسخه ۱.۰.۰-آلفا۰۴

۱۳ نوامبر ۲۰۲۴

androidx.pdf:pdf-viewer:1.0.0-alpha04 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 منتشر شدند. نسخه 1.0.0-alpha04 شامل این کامیت‌ها است.

سازگاری گسترده

  • کتابخانه PDFViewer اکنون از نسخه‌های اندروید S، T، U و V پشتیبانی می‌کند. این سازگاری بهبود یافته با به‌روزرسانی افزونه SDK نسخه ۱۳ مرتبط است.

تغییرات API

  • محدودیت حداقل SdkExtension به PdfViewerFragment اضافه شد. ( I922af )
  • ارائه رابط‌های برنامه‌نویسی کاربردی جدید برای کتابخانه نمایشگر PDF. ( I0af57 )

رفع اشکالات

  • رفع مشکل کرش کردن برای مشکل مرگ فرآیند.
  • رفع مشکلات رابط کاربری مربوط به پنجره رمز عبور.
  • رفع مشکلات دسترسی برای findInFileView و FastscrollView .

توسعه مداوم

  • ما به طور فعال در حال کار بر روی گنجاندن Jetpack Compose در کتابخانه هستیم.

نسخه ۱.۰.۰-آلفا۰۳

۱۸ سپتامبر ۲۰۲۴

androidx.pdf:pdf-viewer:1.0.0-alpha03 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 منتشر شدند. نسخه 1.0.0-alpha03 شامل این کامیت‌ها است.

رفع اشکالات

  • مشکل باز نشدن کیبورد هنگام اولین باز شدن جستجو برطرف شد
  • رفع مشکلات رابط کاربری مربوط به فونت نمای FindInFile.
  • رابط کاربری برای انتخاب متن و کشیدن دسته اصلاح شد.

مشکلات شناخته شده

  • تصاویر سه بعدی در اسناد PDF در نمایشگر رندر نمی‌شوند.
  • PdfViewerFragment در اسناد PDF بسیار بزرگ (> 250 مگابایت) دارای برخی مشکلات عملکردی است.

نسخه ۱.۰.۰-آلفا۰۲

۴ سپتامبر ۲۰۲۴

androidx.pdf:pdf-viewer:1.0.0-alpha02 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 منتشر شدند. نسخه 1.0.0-alpha02 شامل این کامیت‌ها است.

رفع اشکالات

  • مشکل تار بودن تصویر PDF هنگام چرخش از حالت عمودی به افقی و رفتن برنامه به حالت خواب، برطرف شده است.
  • منوی «یافتن در فایل» اکنون تعداد نتایج را حتی زمانی که پیکربندی تغییر می‌کند، حفظ می‌کند.
  • آیکون FloatingActionButton اکنون برای فایل‌های PDF تک‌صفحه‌ای در دسترس است.
  • مشکلات همپوشانی بین نوار «یافتن در فایل» و دکمه‌ی FloatingActionButton برطرف شده است.
  • اکنون می‌توان حاشیه‌نویسی‌های متنی و هایلایت‌ها را در نمایشگر رندر کرد.
  • بهبودهایی در قابلیت دسترسی به نوار «یافتن در فایل» ایجاد شده است.
  • اصلاحات رابط کاربری برای چرخش، از جمله حفظ تعداد یافته، رفع مشکل ناپدید شدن منوی انتخاب متن و حل مشکل همپوشانی FAB، پیاده‌سازی شده‌اند.
  • مشکل پنهان شدن منوی «یافتن فایل» در پشت صفحه‌کلید در حالت افقی برطرف شده است.

مشکلات شناخته شده

  • تصاویر سه بعدی در اسناد PDF در نمایشگر رندر نمی‌شوند.
  • PdfViewerFragment در اسناد PDF بسیار بزرگ (> 250 مگابایت) دارای برخی مشکلات عملکردی است.

نسخه ۱.۰.۰-آلفا۰۱

۷ آگوست ۲۰۲۴

androidx.pdf:pdf-viewer:1.0.0-alpha01 و androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 منتشر شدند. نسخه 1.0.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

نسخه آلفای اولیه PDFViewer شامل پیاده‌سازی‌های پیش‌نمایش اولیه است که سناریوهای اصلی خواندن PDF را فعال می‌کند. لطفاً توجه داشته باشید که PdfViewerFragment در حال حاضر فقط در نسخه‌های Android V (SDK 35) پشتیبانی می‌شود. پشتیبانی از نسخه‌های قدیمی‌تر اندروید در نسخه‌های آینده اضافه خواهد شد.

  • PdfViewerFragment معرفی شد که برنامه شما می‌تواند از آن برای رندر کردن یک سند PDF استفاده کند. PdfViewerFragment ادغام یک نمایشگر PDF را در Activity شما ساده می‌کند و به کاربران اجازه می‌دهد به روش‌های زیر تعامل داشته باشند:
    • بزرگنمایی: برای تنظیم سطح بزرگنمایی و راحتی در خواندن، انگشت خود را به داخل و خارج بکشید و همچنین برای بزرگنمایی/کوچکنمایی سریع به حالت پیش‌فرض، دو بار ضربه بزنید.
    • پیمایش: در حالت پیش‌فرض/بزرگنمایی‌شده اسکرول کنید. PdfViewerFragment یک ابزار سریع برای پیمایش سریع بین صفحات فراهم می‌کند.
    • عملکردهای متن: لمس طولانی روی متن، آن را انتخاب می‌کند و به کاربران امکان می‌دهد از گزینه‌هایی مانند کپی و انتخاب همه در صفحه فعلی استفاده کنند.
    • اسناد محافظت‌شده با رمز عبور: PdfViewerFragment یک کادر محاوره‌ای برای کاربر فراهم می‌کند تا رمز عبور را وارد کرده و سند را باز کند.
    • پیوندهای قابل پیمایش: کاربران می‌توانند با ضربه زدن روی پیوندهای درون PDF، به URLهای وب یا نشانک‌ها پیمایش کنند.
    • میانبر به حالت حاشیه‌نویسی: حالت ویرایش هنوز در PdfViewerFragment پشتیبانی نمی‌شود. در عوض، PdfViewerFragment یک FloatingActionButton نمایش می‌دهد که یک intent ضمنی android.intent.action.ANNOTATE را با URI سند فعال می‌کند.

تغییرات API

  • ویژگی PdfViewerFragment.documentUri برای تنظیم یک فایل یا محتوای URI برای سند و شروع بارگذاری سند اضافه شد. PdfViewerFragment هنگام تنظیم URI، یک spinner بارگذاری نمایش می‌دهد که نشان‌دهنده پردازش پس‌زمینه سند است.
  • PdfViewerFragment.isTextSearchActive برای تغییر وضعیت نمایش منوی find in file اضافه شد. PdfViewerFragment کل جریان را مدیریت می‌کند - امکان ورودی، نمایش تعداد کل تطابق‌ها، فعال کردن پیمایش بین نتایج و خروج از آن.
  • فراخوانی‌های onDocumentLoadSuccess و onDocumentLoadError اضافه شده‌اند که پس از رندر موفقیت‌آمیز سند یا پس از بروز خطا قبل از رندر، فراخوانی می‌شوند.

مشکلات شناخته شده

  • نوار جستجوی فایل در برخی موارد با FloatingActionButton همپوشانی دارد.
  • آیکون FloatingActionButton برای فایل‌های PDF تک صفحه‌ای قابل مشاهده نیست.
  • تعداد نتایج در تغییر پیکربندی در منوی find in file حفظ نمی‌شود.
  • هنگام بستن منوی یافتن فایل، سوسو زدن مشاهده می‌شود
  • تصاویر سه بعدی در اسناد PDF در نمایشگر رندر نمی‌شوند.
  • ویژگی‌های دسترسی در نسخه‌های بعدی فعال خواهند شد.
  • تصویر PDF هنگام چرخش از حالت عمودی به افقی تار می‌شود.
  • از حاشیه‌نویسی متن/هایلایت پشتیبانی نمی‌کند.
  • PdfViewerFragment در اسناد PDF بسیار بزرگ (> 250 مگابایت) دارای برخی مشکلات عملکردی است.

توجه داشته باشید

  • compileSdk به 35 5dc41be به‌روزرسانی کنید