pdf

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

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

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

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

מגניב

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

Kotlin

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

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

משוב

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

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

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

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

גירסה 1.0

גרסה 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 מכילה את הקומטים האלה.

תיקוני באגים

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

בעיות מוכרות

  • תמונות תלת-ממד במסמכי 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