pdf

  
ספרייה להוספת יכולות צפייה בקובצי PDF בתוך אפליקציות.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫11 בפברואר 2026 - - - ‎1.0.0-alpha13

הצהרה על יחסי תלות

כדי להוסיף תלות ב-pdf, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

מגניב

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

Kotlin

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

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

אין הערות לגבי הגרסה של הארטיפקט הזה.

גירסה 1.0

גרסה ‎1.0.0-alpha13

‫11 בפברואר 2026

androidx.pdf:pdf-*:1.0.0-alpha13 מופץ. גרסה ‎1.0.0-alpha13 מכילה את השמירות האלה.

תכונות חדשות

  • השקנו את EditablePdfViewerFragment, שמרחיב את PdfViewerFragment הסטנדרטי ומספק יכולות עריכה של קובצי PDF, כולל הערות ומילוי טפסים.
  • הערות: נעשה שימוש בספרייה androidx.ink כדי לספק תמיכה מקיפה בהערות ב-PDF. סרגל כלים ייעודי מופיע כשלוחצים על סמל העריכה FloatingActionButton, ומאפשר גישה לכלים מיוחדים, כולל:
    • עט: מאפשר לכתוב ולצייר בכתב יד ישירות במסמך. המשתמשים יכולים להתאים אישית את קו העט באמצעות עובי מתכוונן ולוח צבעים רחב.
    • הדגשה: תומכת בהדגשה חופשית ובהדגשה של טקסט, וזמינה בכמה צבעים.
    • מחק: מסיר במדויק הערות ספציפיות.
    • ביטול וביצוע מחדש: תכונות מובנות שמאפשרות לבטל או לבצע מחדש את השינויים האחרונים בצורה חלקה.
  • מילוי טפסים: תמיכה בלחיצה על שדות טופס ושינוי שלהם, כמו שדות טקסט, תפריטים נפתחים, תיבות סימון ולחצני בחירה.
    • ה-EditablePdfViewerFragment תומך ביכולות מילוי טפסים בתוך הדף, ומספק חוויית משתמש חלקה. התכונה הזו נשלטת באמצעות isFormFillingEnabled API ב-PdfView.
    • EditablePdfDocument: ממשק חדש שמרחיב את PdfDocument לניהול וליישום של עריכות בנתוני טפסים.
    • רכיב ה-PdfViewer composable תומך באינטראקציה עם שדות טופס, שאפשר לשלוט בהם באמצעות הפרמטר isFormFillingEnabled.
  • שמירת שינויים: PdfWriteHandle מאפשרת לשמור תוכן ערוך בקובץ ספציפי.
  • בחירת תמונות: נוספה תמיכה בבחירת תמונות בלחיצה ארוכה במסמכי PDF. התכונה הזו מופעלת באמצעות הנכס isImageSelectionEnabled גם ב-PdfView וגם ב-PdfViewer composable. הנתונים שמתקבלים מוצגים באמצעות המודל ImageSelection ב-OnSelectionChangedListener.
  • פריסה של שני דפים: נוסף מצב פריסה זה לצד זה למכשירים עם מסך גדול, שאפשר להגדיר באמצעות המאפיין pagesPerRow ב-PdfView וב-PdfViewer composable.

שינויים ב-API

  • הוספת Image Selection API בספריית Jetpack PDF (‏Iee0b9, ‏b/470897750)
  • פרסום ממשקי API של שכבת העיבוד של מילוי טפסים. (Iec39c, ‏ b/474260451)
  • הוספת פרמטר renderParams ל-API‏ openDocument ב-SandboxedPdfLoader (If9344, ‏ b/438269273)
  • הוספת ממשקי API של שכבת ההצגה למילוי טפסים (I829c5, b/449869703)
  • נוספה הערה @MainThread בשיטות הקריאה החוזרת של OnFirstContentLoadListener ושל OnSelectionChangedListener (I4cf10, ‏ b/466965940)
  • המסווג ApplyInProgressException סומן כפנימי, כדי למנוע יצירת מופע חיצוני (I5cc66, ‏ b/465414484)
  • נוספה הערה @MainThread לשיטות הקראה החוזרת של מאזינים ב-PdfView (Ie7201, ‏ b/429407597)
  • הוספנו ממשקי API ליכולות עריכה מקוריות דרך EditablePdfViewerFragment. (Ifae6c, b/462049364)
  • הוספת FirstContentLoad API אל PdfView ו-PdfViewer (Icf63d, ‏ b/461666545)
  • ‫[2Page] Add Two-Page Layout API to PdfViewer Library (I8d7f1, b/452517650)

תיקוני באגים

  • תיקון של חריגה בגלל שהדף כבר נסגר לפני שליפת מפת הסיביות (b/475255729)

גרסה ‎1.0.0-alpha12

‫3 בדצמבר 2025

androidx.pdf:pdf-*:1.0.0-alpha12 מופץ. גרסה ‎1.0.0-alpha12 מכילה את השמירות האלה.

שינויים ב-API

  • הסרת הפונקציה textAsString מ-TextSelection אל androidx-main
  • שינוי השם של clearSelection לclearCurrentSelection (I3a318, b/429407597)
  • הסרה של הפונקציה textAsString מ-TextSelection (I1305d, ‏ b/429407798)

תיקוני באגים

  • תוקנה בעיה שגרמה לכך שסרגל הגלילה המהירה ב-PdfView לא היה גלוי כברירת מחדל. (I7fb0e)
  • תוקנה קריסה ב-TextSelectionMenuProvider בבחירה עם טקסט null. (I855df)

גרסה ‎1.0.0-alpha11

‫22 באוקטובר 2025

androidx.pdf:pdf-*:1.0.0-alpha11 מופץ. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

תכונות חדשות

  • הפעלת פריטי תפריט חכמים בבחירת תוכן PDF.
  • הפעלת האפשרות לבחור היפר-קישור ואת האפשרות 'מעבר אל' בקישור ב-PDF.
  • הוספנו את ממשקי ה-API של תפריט הבחירה fromPdfView ו-PdfViewer Composable, שמאפשרים למפתחים להוסיף פריטים לתפריט הבחירה.
  • הוספת API ליישור דפים ב-PdfView וב-PdfViewer Composable, שמאפשר למפתחים לבחור את יישור הדפים כשהגובה של התוכן קטן מגובה אזור התצוגה.

שינויים ב-API

  • הגדרנו את contentDesc כ-nullable והסרנו את ערך ברירת המחדל. (I86f8c, b/441973880)
  • הצגת PdfSelectionMenuKeys עבור פריטים בתפריט לבחירת קישור (Ic9b05, ‏ b/447079082)
  • הוספת PageAlignment API אל PdfView ו-PdfViewer אל androidx-main
  • שינוי API שקשור לזווית לשימוש במעלות וכולל יחידה בשמות, הבהרה לגבי יחידות בכלי המרה של זווית ותמיכה במעלות וברדיאנים, שינוי StockBrushes API לקבלת גרסת מברשת מלאי כפרמטר של פונקציית יצירה וחשיפת בקרת התנהגות של חפיפה עצמית למברשות של הדגשה, שינוי השם של MutableAffineTransform.populateFromTranslate ל-populateFromTranslation, הסרת InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, ‏ b/436656418)
  • הוספת PageAlignment API אל PdfView ו-PdfViewer (I9c9a5, b/438065228)
  • Expose Selection Menu API from PdfViewer Composable (Id9b0f, b/407663999)
  • הגדרת PdfView כViewGroup. אין תמיכה בילדים שרירותיים. (Ib51d8, b/410008792)
  • הצגת HyperLinkSelection ו-GoToLinkSelection מ-PdfView (I378c4, ‏ b/441280002)
  • שינוי מבנה הקוד PdfPageContent כדי לתמוך בבחירות גנריות (I28f16, ‏ b/437845185)
  • הצגת Selection Menu API מ-PdfView (Idd547, ‏ b/407663737)
  • העברת מחלקות שקשורות לבחירה לחבילה ייעודית (I953cb, ‏ b/436157691)
  • השקנו את התכונה הניסיונית onPdfViewCreated לגישה ל-PdfView ב-PdfViewerFragment. (I86715, ‏ b/422620454)
  • FileDescriptor API נוסף ל-PdfLoader (I60b8d)

תיקוני באגים

  • שיפור המודלים של הקלט כדי שהמשיכות ישקפו את הקלט בצורה מדויקת יותר (I93097)

External Contribution

  • הצגת PdfSelectionMenuKeys לפריטים בתפריט לבחירת קישורים
  • חשיפת Selection Menu API מ-PdfViewer Composable
  • חשיפת Selection Menu API מ-PdfView

גרסה ‎1.0.0-alpha10

‫16 ביולי 2025

androidx.pdf:pdf-*:1.0.0-alpha10 מופץ. גרסה ‎1.0.0-alpha10 מכילה את השמירות האלה.

תכונות חדשות

  • בחירה משופרת שמאפשרת למשתמשים לבחור טקסט בכמה דפים על ידי גרירת נקודות האחיזה לבחירה מעבר לגבולות הדף.
  • אפליקציות יכולות עכשיו ליירט את הטיפול בלחיצות על היפר-קישורים במסמכי PDF ולהתאים אותו אישית.

שינויים ב-API

  • הוספת קומפוזיציה להצגת תוכן PDF ‏ (I8e7ee)
  • מתבצעת העברה של PdfPoint ושל PdfRect לחבילה androidx.pdf.models (I26cf4)
  • הוספת רכיב View להצגת תוכן PDF‏ (I9fe27)
  • הוספת API לאתחול מראש של משאבי PDF כדי להקטין את זמן האחזור של הפעלה קרה (a18fa89)
  • הוספת API לביטול הטיפול בלחיצה על היפר-קישור בתוכן PDF(6330a8b)
  • נחשף ארטיפקט חדש pdf-document-service וממשקי ה-API התואמים – PdfLoader, ‏ PdfDocument ו-SandboxedPdfLoader. אפשר להשתמש בממשקי ה-API כדי להטמיע את רכיב הניתוח והעיבוד של מסמך ה-PDF (Ide70d)
  • חשיפת API להגדרת PdfDocument ב-PdfView כדי להפעיל את העיבוד של המסמך (If8738)

גרסה ‎1.0.0-alpha09

‫7 במאי 2025

androidx.pdf:pdf-*:1.0.0-alpha09 מופץ. גרסה ‎1.0.0-alpha09 מכילה את השמירות האלה.

שינויים משמעותיים

  • בסיס הקוד עבר שינוי משמעותי ועכשיו הוא כתוב כולו ב-Kotlin, תוך שימוש ב-Coroutines וב-ViewModel. השינוי הזה כולל הטמעה מחדש של PdfViewerFragment. הגרסה הזו לא כוללת ממשקי API או תכונות חדשים.

בעיות מוכרות:

  • בסרגל הגלילה המהיר ובאינדיקטור הדף חסרים אפקטים של הצללה.
  • יכול להיות שמסמכי PDF בני עמוד אחד לא תמיד יוצגו במרכז ולא יותאמו לרוחב התצוגה.

שינויים ב-API

  • הוספת הערה ל-containerStyleResId באמצעות @StyleRes. (I88d85)

גרסה ‎1.0.0-alpha08

‫12 במרץ 2025

האפליקציות 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 מכילה את השמירות האלה.

תיקוני באגים

  • נפתרה בעיה של מיקום לא עקבי של תפריט הבחירה בין מכשירי Android שונים בגלל הבדלים בהתאמת הגודל. מיקום תפריט הבחירה עכשיו עקבי בכל המכשירים.
  • התאמה של המיקום של סרגל הגלילה המהירה ושל מחוון הדף ביצירה מחדש של קטע במקרים כמו שינוי הגדרה וכו'.

גרסה ‎1.0.0-alpha07

‫26 בפברואר 2025

האפליקציות 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). מחלקות משנה יכולות להשתמש בבונה המוגן כדי להשיג פונקציונליות דומה.
  • StylingOptions מקבל כרגע containerStyle, שכולל:
    • תמיכה בציור בהתאמה אישית של נקודת האחיזה של הרכיב לגלילה מהירה ושל אינדיקטור הדף.
    • marginEnd כדי למקם במדויק את נקודת האחיזה של הרכיב לגלילה מהירה ואת אינדיקטור הדף.

שינויים ב-API

  • נוספו מאפיינים ציבוריים מ-PdfView (I30fc5)
  • הוספנו ממשקי API חדשים StylingOptions לתצוגת PDF. (Id2993)

תיקוני באגים

  • תוקן חוסר התאמה בסנכרון בין ידית הגלילה המהירה לבין מצב החשיפה של אינדיקטור הדף.

גרסה ‎1.0.0-alpha06

‫29 בינואר 2025

האפליקציות 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)

גרסה ‎1.0.0-alpha05

‫11 בדצמבר 2024

האפליקציות 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 מכילה את השמירות האלה.

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify לגבי ערכי null, שהן אנוטציות של שימוש בטיפוסים. מפתחי Kotlin צריכים להשתמש בארגומנט המהדר הבא כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זו ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin). (I38301, b/326456246)
  • תוקנה בעיה שגרמה לכך שדף שנפתח קודם לכן הוצג אחרי סיבוב ב-Android 13. (Ib03dd)
  • תוקנה בעיה שגרמה להיעלמות של ארגז הכלים בסיבוב. (01148f)

גרסה ‎1.0.0-alpha04

‫13 בנובמבר 2024

androidx.pdf:pdf-viewer:1.0.0-alpha04 וגם androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 מופצים. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

תאימות מורחבת

  • הספרייה PDFViewer תומכת עכשיו בגרסאות Android‏ S,‏ T,‏ U ו-V. התאימות המשופרת הזו קשורה לעדכון של SDK extension 13.

שינויים ב-API

  • נוספה מגבלת מינימום של SdkExtension ל-PdfViewerFragment. (I922af)
  • הוספנו ממשקי API חדשים לספריית PDF Viewer. (I0af57)

תיקוני באגים

  • תיקון קריסה שנגרמה מבעיה בהשבתת תהליך.
  • תיקונים בממשק המשתמש שקשורים לתיבת הדו-שיח של הסיסמה.
  • תיקוני נגישות ל-findInFileView ול-FastscrollView.

פיתוח מתמשך

  • אנחנו פועלים כרגע לשילוב של Jetpack Compose בספרייה.

גרסה ‎1.0.0-alpha03

‫18 בספטמבר 2024

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 גדולים מאוד (מעל 250MB)

גרסה ‎1.0.0-alpha02

‫4 בספטמבר 2024

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.
  • עכשיו אפשר להציג בכלי הצפייה הערות טקסט והדגשות.
  • בוצעו שיפורים בנגישות של סרגל החיפוש בקובץ.
  • בוצעו תיקונים בממשק המשתמש לסיבוב, כולל שמירת ספירת החיפושים, טיפול בבעיה של היעלמות תפריט בחירת הטקסט ופתרון הבעיה של חפיפה בין לחצן הפעולה הצף.
  • תוקנה הבעיה בתפריט 'חיפוש בקובץ' שהוסתר מאחורי המקלדת במצב לרוחב.

בעיות מוכרות

  • תמונות תלת-ממד במסמכי PDF לא מוצגות בתצוגה המקדימה.
  • יש בעיות בביצועים של PdfViewerFragment במסמכי PDF גדולים מאוד (מעל 250MB)

גרסה 1.0.0-alpha01

‫7 באוגוסט 2024

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). בעדכונים הבאים נוסיף תמיכה בגרסאות ישנות יותר של Android.

  • הוספנו את PdfViewerFragment שאפשר להשתמש בו באפליקציה כדי לעבד מסמך PDF. PdfViewerFragment מאפשר לשלב בקלות כלי לצפייה בקובצי PDF בפעילות שלכם, ומאפשר למשתמשים לבצע את הפעולות הבאות:
    • שינוי מרחק התצוגה: צובטים פנימה והחוצה כדי לשנות את מרחק התצוגה וליהנות מחוויית קריאה נוחה. אפשר גם ללחוץ פעמיים כדי להגדיל או להקטין את התצוגה במהירות למצב ברירת המחדל.
    • ניווט: גלילה במצב ברירת המחדל או במצב מוגדל. ‫PdfViewerFragment מאפשרת לכם להשתמש בסרגל גלילה מהיר כדי לעבור במהירות בין דפים.
    • פעולות על טקסט: לחיצה ארוכה על טקסט בוחרת אותו, ומאפשרת למשתמשים להשתמש באפשרויות כמו 'העתקה' ו'בחירת הכול' בדף הנוכחי.
    • מסמכים שמוגנים בסיסמה: PdfViewerFragment מוצגת תיבת דו-שיח שבה המשתמש יכול להזין את הסיסמה ולפתוח את המסמך.
    • היפר-קישורים שאפשר לנווט אליהם: משתמשים יכולים לנווט לכתובות URL באינטרנט או לסימניות על ידי הקשה על היפר-קישורים ב-PDF.
    • קיצור דרך למצב הערות: מצב עריכה עדיין לא נתמך ב-PdfViewerFragment. במקום זאת, השדה PdfViewerFragment מציג FloatingActionButton שמפעיל כוונה מרומזת android.intent.action.ANNOTATE עם ה-URI של המסמך.

שינויים ב-API

  • נוספה מאפיין PdfViewerFragment.documentUri להגדרת URI של קובץ או תוכן למסמך ולהפעלת טעינת המסמך. ‫PdfViewerFragment מציג אנימציה של טעינה כשה-URI מוגדר, כדי לציין את עיבוד המסמך ברקע.
  • הוספנו את האפשרות PdfViewerFragment.isTextSearchActive להצגה או להסתרה של התפריט 'חיפוש בקובץ'. ‫PdfViewerFragment מטפל בכל התהליך – מאפשר הזנה, מציג את המספר הכולל של ההתאמות, מאפשר ניווט בין התוצאות ויציאה מהתהליך.
  • נוספו קריאות חוזרות (callback) של onDocumentLoadSuccess ו-onDocumentLoadError שמופעלות אחרי עיבוד מוצלח של המסמך או אחרי שגיאה שמוחזרת לפני העיבוד.

בעיות מוכרות

  • במקרים מסוימים, סרגל החיפוש בקובץ חופף ל-FloatingActionButton.
  • הסמל FloatingActionButton לא מוצג בקובצי PDF של דף אחד.
  • מספר התוצאות לא נשמר כשמשנים את ההגדרה בתפריט 'חיפוש בקובץ'.
  • הבהוב נצפה בזמן סגירת התפריט 'חיפוש בקובץ'
  • תמונות תלת-ממד במסמכי PDF לא מוצגות בתצוגה המקדימה.
  • תכונות הנגישות יופעלו בגרסאות הבאות.
  • תמונה ב-PDF הופכת מטושטשת כשמסובבים אותה מפריסה לאורך לפריסה לרוחב.
  • אין תמיכה בהערות טקסט או בהדגשה.
  • יש בעיות בביצועים של PdfViewerFragment במסמכי PDF גדולים מאוד (מעל 250MB)

הערה

  • עדכון compileSdk ל-35 5dc41be