pdf

  
ไลบรารีสำหรับเพิ่มความสามารถในการดู PDF ภายในแอป
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
16 กรกฎาคม 2025 - - - 1.0.0-alpha10

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน pdf คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ 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")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

ความคิดเห็นของคุณจะช่วยให้ Jetpack ทำงานได้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา

ไม่มีบันทึกประจำรุ่นสำหรับอาร์ติแฟกต์นี้

รุ่น 1.0

เวอร์ชัน 1.0.0-alpha10

16 กรกฎาคม 2025

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)

เวอร์ชัน 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 ซึ่งมีข้อมูลต่อไปนี้
    • รองรับ Drawable ที่กำหนดเองสำหรับแฮนเดิลการเลื่อนอย่างรวดเร็วและตัวบ่งหน้า
    • 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 (นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (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 13

การเปลี่ยนแปลง API

  • เพิ่มข้อจำกัดขั้นต่ำ SdkExtension ใน PdfViewerFragment (I922af)
  • เปิดตัว API ใหม่สำหรับไลบรารีโปรแกรมดู PDF (I0af57)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องสำหรับปัญหาการสิ้นสุดการประมวลผล
  • การแก้ไข UI ที่เกี่ยวข้องกับกล่องโต้ตอบรหัสผ่าน
  • การแก้ไขการช่วยเหลือพิเศษสำหรับ 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 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาแป้นพิมพ์ไม่ปรากฏเมื่อเปิดการค้นหาเป็นครั้งแรก
  • แก้ไข UI ที่เกี่ยวข้องกับแบบอักษรของมุมมอง FindInFile
  • แก้ไข UI สำหรับการเลือกข้อความและแฮนเดิลการลาก

ปัญหาที่ทราบ

  • ระบบจะไม่แสดงผลรูปภาพ 3 มิติในเอกสาร PDF ในโปรแกรมดู
  • PdfViewerFragment มีปัญหาด้านประสิทธิภาพในเอกสาร PDF ขนาดใหญ่มาก (> 250 MB)

เวอร์ชัน 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 แล้ว
  • ตอนนี้ระบบแสดงคำอธิบายประกอบข้อความและไฮไลต์ในโปรแกรมดูได้แล้ว
  • เราได้ปรับปรุงการช่วยเหลือพิเศษในแถบ "ค้นหาในไฟล์"
  • เราได้แก้ไข UI สำหรับการหมุนแล้ว ซึ่งรวมถึงการคงจำนวนการค้นหา การแก้ไขเมนูการเลือกข้อความที่หายไป และการแก้ปัญหา FAB ทับซ้อน
  • เราได้แก้ไขปัญหาเมนูค้นหาในไฟล์ที่ซ่อนอยู่ด้านหลังแป้นพิมพ์ในโหมดแนวนอนแล้ว

ปัญหาที่ทราบ

  • ระบบจะไม่แสดงผลรูปภาพ 3 มิติในเอกสาร PDF ในโปรแกรมดู
  • PdfViewerFragment มีปัญหาด้านประสิทธิภาพในเอกสาร PDF ขนาดใหญ่มาก (> 250 MB)

เวอร์ชัน 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 จะจัดการโฟลว์ทั้งหมด ซึ่งช่วยให้ป้อนข้อมูล แสดงจำนวนการจับคู่ทั้งหมด เปิดใช้การไปยังส่วนต่างๆ ระหว่างผลลัพธ์ และออกจากผลลัพธ์ได้
  • เพิ่มการเรียกกลับ onDocumentLoadSuccess และ onDocumentLoadError ซึ่งจะเรียกใช้หลังจากแสดงเอกสารสำเร็จ หรือหลังจากเกิดข้อผิดพลาดก่อนการแสดงผล

ปัญหาที่ทราบ

  • แถบ "ค้นหาในไฟล์" จะทับซ้อนกับ FloatingActionButton ในบางกรณี
  • FloatingActionButton จะไม่ปรากฏในไฟล์ PDF แบบหน้าเดียว
  • ระบบจะไม่เก็บจำนวนผลลัพธ์ไว้เมื่อมีการเปลี่ยนแปลงการกำหนดค่าในเมนูค้นหาในไฟล์
  • สังเกตเห็นการกะพริบขณะปิดเมนูค้นหาในไฟล์
  • ระบบจะไม่แสดงผลรูปภาพ 3 มิติในเอกสาร PDF ในโปรแกรมดู
  • ฟีเจอร์การช่วยเหลือพิเศษจะเปิดใช้ในรุ่นต่อไปนี้
  • รูปภาพ PDF เบลอเมื่อหมุนจากแนวตั้งเป็นแนวนอน
  • ไม่รองรับคำอธิบายประกอบข้อความ/ไฮไลต์
  • PdfViewerFragment มีปัญหาด้านประสิทธิภาพในเอกสาร PDF ขนาดใหญ่มาก (> 250 MB)

หมายเหตุ

  • อัปเดต compileSdk เป็น 35 5dc41be