pdf

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

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

หากต้องการเพิ่มทรัพยากร Dependency ใน pdf คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ แอปหรือโมดูล

ดึงดูด

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

Kotlin

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

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

ความคิดเห็น

ความคิดเห็นของคุณช่วยเราปรับปรุง 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 เป็นค่าที่กำหนดให้เป็น Null ได้และนำค่าเริ่มต้นออก (I86f8c, b/441973880)
  • เปิดเผย PdfSelectionMenuKeys สำหรับรายการเมนูการเลือกลิงก์ (Ic9b05, b/447079082)
  • เพิ่ม API PageAlignment ไปยัง 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)

การมีส่วนร่วมภายนอก

  • แสดง 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

  • แสดง 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