pdf

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

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

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

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

Groovy

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

Kotlin

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

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

משוב

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

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

מידע נוסף זמין במאמרי העזרה בנושא הכלי למעקב אחר בעיות.

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

גירסה 1.0

גרסה 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)
  • הצגת Selection Menu API מ-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. אפשר להשתמש בממשקי המשתמש כדי להטמיע את רכיב הניתוח והעיבוד של מסמך ה-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 מכילה את הקומטים האלה.

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו בהערות לגבי ערכי null של JSpecify, שהן הערות לשימוש בסוגים. מפתחים ב-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 שמפעיל כוונה (intent) מרומזת 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