অ্যান্ড্রয়েড পিডিএফ ভিউয়ার, অ্যান্ড্রয়েড পিডিএফ ভিউয়ার

ফ্রেমওয়ার্ক এপিআই দ্বারা সমর্থিত জেটপ্যাক পিডিএফ ভিউয়ার লাইব্রেরি অ্যান্ড্রয়েডে পিডিএফ ডকুমেন্ট-সম্পর্কিত অ্যাপ্লিকেশনগুলির জন্য একটি প্রস্তুত, কার্যকর সমাধান প্রদান করে।

PDF ভিউয়ার লাইব্রেরি ( androidx.pdf ), একটি এম্বেডযোগ্য PDF ভিউয়ার UI প্রদান করে যা ব্যবহারকারীদের নিম্নলিখিত কাজগুলি করতে সক্ষম করে:

  • PDF ডকুমেন্ট খুলুন এবং দেখুন
  • কন্টেন্ট খুঁজুন এবং নির্বাচন করুন
  • জুম এবং স্ক্রোল করুন
  • ডকুমেন্টের টীকাগুলি সংরক্ষণ করুন
  • স্টাইলাস ব্যবহার করে PDF এর সাথে ইন্টারঅ্যাক্ট করুন

আপনি জেটপ্যাক লাইব্রেরি এপিআইগুলিকে একীভূত করে অথবা সরাসরি ফ্রেমওয়ার্ক এপিআই ব্যবহার করে একটি পূর্ণাঙ্গ বৈশিষ্ট্যযুক্ত পিডিএফ অভিজ্ঞতা তৈরি করতে পারেন।

জেটপ্যাক পিডিএফ লাইব্রেরি

Jetpack PDF লাইব্রেরিতে PdfViewerFragment ক্লাস রয়েছে যা PDF ডকুমেন্ট রেন্ডার করে, যার মধ্যে পৃষ্ঠাঙ্কিত PDFও অন্তর্ভুক্ত। প্রতিটি পৃষ্ঠা তার নিজস্ব ভিউতে রেন্ডার করা হয়। PdfViewerFragment অ্যানোটেশন সাপোর্টের জন্য একটি ভাসমান অ্যাকশন বোতাম প্রদর্শন করে এবং সাধারণত একটি বোতাম বা অন্যান্য UI নিয়ন্ত্রণ অন্তর্ভুক্ত করে যা একটি অনুসন্ধান মেনু খোলে।

PdfViewerFragment কীভাবে বাস্তবায়ন করবেন তা জানতে, PDF ভিউয়ার বাস্তবায়ন দেখুন।

ফ্রেমওয়ার্ক এপিআই

জেটপ্যাক লাইব্রেরি পিডিএফ ডকুমেন্ট পার্স এবং লোড করার জন্য ফ্রেমওয়ার্ক এপিআই ব্যবহার করে। PdfRenderer পিডিএফ রেন্ডারিং সম্পর্কিত মৌলিক ফ্রেমওয়ার্ক এপিআই সরবরাহ করে।

Android V (API লেভেল ৩৫) এর আগে, PdfRenderer এবং PdfRenderer.Page ক্লাসগুলি PDF হ্যান্ডলিংয়ের জন্য API সরবরাহ করত। PdfRenderer এবং PdfRenderer.Page ক্লাসগুলি Android V তে উন্নত PDF ক্ষমতা সহ আপডেট করা হয়েছে।

PdfRenderer

Android V এর আগের API গুলি

  • getPageCount() — ডকুমেন্টের পৃষ্ঠা সংখ্যা বের করে।
  • openPage(index: Int) — রেন্ডারিংয়ের জন্য একটি পৃষ্ঠা খোলে।
  • shouldScaleForPrinting() — ডকুমেন্টটি মুদ্রণের জন্য স্কেল করা উচিত কিনা তা জানতে সাহায্য করে। ডকুমেন্টটি মুদ্রণের জন্য রেন্ডার করা হলে এবং টার্গেট মিডিয়ার আকার পৃষ্ঠার আকার থেকে আলাদা হলে এই তথ্যটি বিবেচনা করুন।

Android V-তে API যোগ করা হয়েছে

  • PdfRenderer(fileDescriptor: ParcelFileDescriptor, params: LoadParams) — একটি নতুন ইনস্ট্যান্স তৈরি করে। পাসওয়ার্ড সুরক্ষিত PDF লোড করা সমর্থন করে।
  • getDocumentLinearizedType() — ১KB এর কম আকারের PDF ফাইলের জন্য রৈখিক ধরণের ডকুমেন্ট প্রদান করে।
  • getPdfFormType() — লোড করা PDF এর ফর্ম টাইপ রিটার্ন করে।
  • write(destination: ParcelFileDescriptor, removePasswordProtection: Boolean) — বর্তমানে লোড করা ডকুমেন্টের অবস্থা লেখার যোগ্য ফাইল বর্ণনাকারীতে সংরক্ষণ করে যা একটি আর্গুমেন্ট হিসেবে পাস করা হয়েছে।

PdfRenderer.Page

PdfRenderer.Page ক্লাসটি রেন্ডারিংয়ের জন্য একটি PDF ডকুমেন্ট পৃষ্ঠা উপস্থাপন করে।

Android V এর আগের API গুলি

  • RENDER_MODE_FOR_DISPLAY — স্ক্রিনে প্রদর্শনের জন্য কন্টেন্ট রেন্ডার করার মোড।
  • RENDER_MODE_FOR_PRINT — মুদ্রণের জন্য কন্টেন্ট রেন্ডার করার মোড।
  • getIndex() — পৃষ্ঠার সূচী পায়।
  • getWidth() — পৃষ্ঠার প্রস্থ পয়েন্টে (এক ইঞ্চির ১/৭২) পায়।
  • getHeight() — পৃষ্ঠার উচ্চতা পয়েন্টে (এক ইঞ্চির ১/৭২) পায়।
  • render(destination: Bitmap, destClip: Rect?, transform: Matrix?, renderMode: Int) — একটি পৃষ্ঠাকে একটি বিটম্যাপে রেন্ডার করে।

Android V-তে API যোগ করা হয়েছে

  • applyEdit(editRecord: FormEditRecord) — PDF-এ একটি FormEditRecord প্রয়োগ করে।
  • getFormWidgetInfos() — পৃষ্ঠার সকল ফর্ম উইজেট সম্পর্কে তথ্য প্রদান করে।
  • getFormWidgetInfos(types: IntArray) — পৃষ্ঠায় নির্দিষ্ট ধরণের সকল ফর্ম উইজেট সম্পর্কে তথ্য প্রদান করে।
  • getFormWidgetInfoAtIndex(widgetIndex: Int)widgetIndex আর্গুমেন্ট দ্বারা চিহ্নিত উইজেট সম্পর্কে তথ্য প্রদান করে।
  • fun getFormWidgetInfoAtPosition(x: Int, y: Int) — প্রদত্ত বিন্দুতে উইজেট সম্পর্কে তথ্য প্রদান করে।
  • getGotoLinks() — একটি PDF ডকুমেন্টের পৃষ্ঠায় উপস্থিত বুকমার্ক এবং goto লিঙ্কগুলি পায়।
  • getImageContents() — পৃষ্ঠায় পাওয়া PdfPageImageContent এর একটি তালিকা প্রদান করে।
  • getLinkContents() — পৃষ্ঠার সমস্ত লিঙ্কের সীমানা এবং URL গুলি পায়।
  • getTextContents() — পৃষ্ঠায় PdfPageTextContent এর একটি তালিকা প্রদান করে।
  • render(destination: Bitmap, destClip: Rect?, transform: Matrix?, params: RenderParams) — একটি পৃষ্ঠাকে একটি বিটম্যাপে রেন্ডার করে।
  • searchText(query: String) — প্রদত্ত স্ট্রিংটির জন্য পৃষ্ঠাটি অনুসন্ধান করে এবং সমস্ত মিলের সীমানা প্রদান করে।
  • selectContent(start: SelectionBoundary, stop: SelectionBoundary) — একটি PageSelection প্রদান করে যা দুটি সীমানার মধ্যবর্তী বিষয়বস্তুকে প্রতিনিধিত্ব করে।

API ব্যবহার

  • PdfRenderer#write() API লোড করা PDF এর একটি সংস্করণ ParcelFileDescriptor এ লেখে। ব্যবহারের ক্ষেত্রে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকে:

    • পাসওয়ার্ড সুরক্ষা অপসারণের পরে PDF ডকুমেন্টের একটি কপি সংরক্ষণ করা হচ্ছে
    • সম্পাদনাগুলি সংরক্ষণ করা হচ্ছে (টীকা, ফর্ম পূরণ, ইত্যাদি)
  • PdfRenderer.Page#render() API গুলি একটি পৃষ্ঠা বা পৃষ্ঠার একটি অংশকে একটি বিটম্যাপে রেন্ডার করে। জুমের ক্ষেত্রে, API পৃষ্ঠার একটি অংশকে একটি নির্দিষ্ট আকারের বিটম্যাপে রেন্ডার করতেও ব্যবহার করা যেতে পারে।

  • PdfRenderer.Page API গুলি getImageContents() , getLinkContents() , এবং getTextContents() পৃষ্ঠায় উপলব্ধ বিষয়বস্তু ফেরত দেয়। আপনি অ্যাক্সেসিবিলিটি এবং টকব্যাক ঘোষণার জন্য অথবা পৃষ্ঠার সারাংশ তৈরি করার মতো AI-সক্ষম বৈশিষ্ট্যগুলিতে সামগ্রীটি ব্যবহার করতে পারেন।

  • PdfRenderer.Page#selectContent API একটি পৃষ্ঠায় উপলব্ধ সামগ্রী নির্বাচন করে। আপনি নিম্নলিখিতগুলির মতো ক্রিয়াকলাপের জন্য নির্বাচিত সামগ্রী ব্যবহার করতে পারেন:

    • ফোন নম্বর থাকলে কল করুন
    • মানচিত্র, যদি একটি ঠিকানা নির্বাচন করা হয়
    • কপি
    • শেয়ার করুন
    • মন্তব্য

সামঞ্জস্য

PdfRendererPreV ক্লাসটি Android R থেকে U (API লেভেল 30–34) পর্যন্ত Android V API গুলিকে প্রকাশ করে।

অতিরিক্ত সম্পদ

আপনার অ্যাপে PDF ভিউয়ার কীভাবে যোগ করবেন তা জানতে "PDF ভিউয়ার বাস্তবায়ন করুন" দেখুন।

,

ফ্রেমওয়ার্ক এপিআই দ্বারা সমর্থিত জেটপ্যাক পিডিএফ ভিউয়ার লাইব্রেরি অ্যান্ড্রয়েডে পিডিএফ ডকুমেন্ট-সম্পর্কিত অ্যাপ্লিকেশনগুলির জন্য একটি প্রস্তুত, কার্যকর সমাধান প্রদান করে।

PDF ভিউয়ার লাইব্রেরি ( androidx.pdf ), একটি এম্বেডযোগ্য PDF ভিউয়ার UI প্রদান করে যা ব্যবহারকারীদের নিম্নলিখিত কাজগুলি করতে সক্ষম করে:

  • PDF ডকুমেন্ট খুলুন এবং দেখুন
  • কন্টেন্ট খুঁজুন এবং নির্বাচন করুন
  • জুম এবং স্ক্রোল করুন
  • ডকুমেন্টের টীকাগুলি সংরক্ষণ করুন
  • স্টাইলাস ব্যবহার করে PDF এর সাথে ইন্টারঅ্যাক্ট করুন

আপনি জেটপ্যাক লাইব্রেরি এপিআইগুলিকে একীভূত করে অথবা সরাসরি ফ্রেমওয়ার্ক এপিআই ব্যবহার করে একটি পূর্ণাঙ্গ বৈশিষ্ট্যযুক্ত পিডিএফ অভিজ্ঞতা তৈরি করতে পারেন।

জেটপ্যাক পিডিএফ লাইব্রেরি

Jetpack PDF লাইব্রেরিতে PdfViewerFragment ক্লাস রয়েছে যা PDF ডকুমেন্ট রেন্ডার করে, যার মধ্যে পৃষ্ঠাঙ্কিত PDFও অন্তর্ভুক্ত। প্রতিটি পৃষ্ঠা তার নিজস্ব ভিউতে রেন্ডার করা হয়। PdfViewerFragment অ্যানোটেশন সাপোর্টের জন্য একটি ভাসমান অ্যাকশন বোতাম প্রদর্শন করে এবং সাধারণত একটি বোতাম বা অন্যান্য UI নিয়ন্ত্রণ অন্তর্ভুক্ত করে যা একটি অনুসন্ধান মেনু খোলে।

PdfViewerFragment কীভাবে বাস্তবায়ন করবেন তা জানতে, PDF ভিউয়ার বাস্তবায়ন দেখুন।

ফ্রেমওয়ার্ক এপিআই

জেটপ্যাক লাইব্রেরি পিডিএফ ডকুমেন্ট পার্স এবং লোড করার জন্য ফ্রেমওয়ার্ক এপিআই ব্যবহার করে। PdfRenderer পিডিএফ রেন্ডারিং সম্পর্কিত মৌলিক ফ্রেমওয়ার্ক এপিআই সরবরাহ করে।

Android V (API লেভেল ৩৫) এর আগে, PdfRenderer এবং PdfRenderer.Page ক্লাসগুলি PDF হ্যান্ডলিংয়ের জন্য API সরবরাহ করত। PdfRenderer এবং PdfRenderer.Page ক্লাসগুলি Android V তে উন্নত PDF ক্ষমতা সহ আপডেট করা হয়েছে।

PdfRenderer

Android V এর আগের API গুলি

  • getPageCount() — ডকুমেন্টের পৃষ্ঠা সংখ্যা বের করে।
  • openPage(index: Int) — রেন্ডারিংয়ের জন্য একটি পৃষ্ঠা খোলে।
  • shouldScaleForPrinting() — ডকুমেন্টটি মুদ্রণের জন্য স্কেল করা উচিত কিনা তা জানতে সাহায্য করে। ডকুমেন্টটি মুদ্রণের জন্য রেন্ডার করা হলে এবং টার্গেট মিডিয়ার আকার পৃষ্ঠার আকার থেকে আলাদা হলে এই তথ্যটি বিবেচনা করুন।

Android V-তে API যোগ করা হয়েছে

  • PdfRenderer(fileDescriptor: ParcelFileDescriptor, params: LoadParams) — একটি নতুন ইনস্ট্যান্স তৈরি করে। পাসওয়ার্ড সুরক্ষিত PDF লোড করা সমর্থন করে।
  • getDocumentLinearizedType() — ১KB এর কম আকারের PDF ফাইলের জন্য রৈখিক ধরণের ডকুমেন্ট প্রদান করে।
  • getPdfFormType() — লোড করা PDF এর ফর্ম টাইপ রিটার্ন করে।
  • write(destination: ParcelFileDescriptor, removePasswordProtection: Boolean) — বর্তমানে লোড করা ডকুমেন্টের অবস্থা লেখার যোগ্য ফাইল বর্ণনাকারীতে সংরক্ষণ করে যা একটি আর্গুমেন্ট হিসেবে পাস করা হয়েছে।

PdfRenderer.Page

PdfRenderer.Page ক্লাসটি রেন্ডারিংয়ের জন্য একটি PDF ডকুমেন্ট পৃষ্ঠা উপস্থাপন করে।

Android V এর আগের API গুলি

  • RENDER_MODE_FOR_DISPLAY — স্ক্রিনে প্রদর্শনের জন্য কন্টেন্ট রেন্ডার করার মোড।
  • RENDER_MODE_FOR_PRINT — মুদ্রণের জন্য কন্টেন্ট রেন্ডার করার মোড।
  • getIndex() — পৃষ্ঠার সূচী পায়।
  • getWidth() — পৃষ্ঠার প্রস্থ পয়েন্টে (এক ইঞ্চির ১/৭২) পায়।
  • getHeight() — পৃষ্ঠার উচ্চতা পয়েন্টে (এক ইঞ্চির ১/৭২) পায়।
  • render(destination: Bitmap, destClip: Rect?, transform: Matrix?, renderMode: Int) — একটি পৃষ্ঠাকে একটি বিটম্যাপে রেন্ডার করে।

Android V-তে API যোগ করা হয়েছে

  • applyEdit(editRecord: FormEditRecord) — PDF-এ একটি FormEditRecord প্রয়োগ করে।
  • getFormWidgetInfos() — পৃষ্ঠার সকল ফর্ম উইজেট সম্পর্কে তথ্য প্রদান করে।
  • getFormWidgetInfos(types: IntArray) — পৃষ্ঠায় নির্দিষ্ট ধরণের সকল ফর্ম উইজেট সম্পর্কে তথ্য প্রদান করে।
  • getFormWidgetInfoAtIndex(widgetIndex: Int)widgetIndex আর্গুমেন্ট দ্বারা চিহ্নিত উইজেট সম্পর্কে তথ্য প্রদান করে।
  • fun getFormWidgetInfoAtPosition(x: Int, y: Int) — প্রদত্ত বিন্দুতে উইজেট সম্পর্কে তথ্য প্রদান করে।
  • getGotoLinks() — একটি PDF ডকুমেন্টের পৃষ্ঠায় উপস্থিত বুকমার্ক এবং goto লিঙ্কগুলি পায়।
  • getImageContents() — পৃষ্ঠায় পাওয়া PdfPageImageContent এর একটি তালিকা প্রদান করে।
  • getLinkContents() — পৃষ্ঠার সমস্ত লিঙ্কের সীমানা এবং URL গুলি পায়।
  • getTextContents() — পৃষ্ঠায় PdfPageTextContent এর একটি তালিকা প্রদান করে।
  • render(destination: Bitmap, destClip: Rect?, transform: Matrix?, params: RenderParams) — একটি পৃষ্ঠাকে একটি বিটম্যাপে রেন্ডার করে।
  • searchText(query: String) — প্রদত্ত স্ট্রিংটির জন্য পৃষ্ঠাটি অনুসন্ধান করে এবং সমস্ত মিলের সীমানা প্রদান করে।
  • selectContent(start: SelectionBoundary, stop: SelectionBoundary) — একটি PageSelection প্রদান করে যা দুটি সীমানার মধ্যবর্তী বিষয়বস্তুকে প্রতিনিধিত্ব করে।

API ব্যবহার

  • PdfRenderer#write() API লোড করা PDF এর একটি সংস্করণ ParcelFileDescriptor এ লেখে। ব্যবহারের ক্ষেত্রে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকে:

    • পাসওয়ার্ড সুরক্ষা অপসারণের পরে PDF ডকুমেন্টের একটি কপি সংরক্ষণ করা হচ্ছে
    • সম্পাদনাগুলি সংরক্ষণ করা হচ্ছে (টীকা, ফর্ম পূরণ, ইত্যাদি)
  • PdfRenderer.Page#render() API গুলি একটি পৃষ্ঠা বা পৃষ্ঠার একটি অংশকে একটি বিটম্যাপে রেন্ডার করে। জুমের ক্ষেত্রে, API পৃষ্ঠার একটি অংশকে একটি নির্দিষ্ট আকারের বিটম্যাপে রেন্ডার করতেও ব্যবহার করা যেতে পারে।

  • PdfRenderer.Page API গুলি getImageContents() , getLinkContents() , এবং getTextContents() পৃষ্ঠায় উপলব্ধ বিষয়বস্তু ফেরত দেয়। আপনি অ্যাক্সেসিবিলিটি এবং টকব্যাক ঘোষণার জন্য অথবা পৃষ্ঠার সারাংশ তৈরি করার মতো AI-সক্ষম বৈশিষ্ট্যগুলিতে সামগ্রীটি ব্যবহার করতে পারেন।

  • PdfRenderer.Page#selectContent API একটি পৃষ্ঠায় উপলব্ধ সামগ্রী নির্বাচন করে। আপনি নিম্নলিখিতগুলির মতো ক্রিয়াকলাপের জন্য নির্বাচিত সামগ্রী ব্যবহার করতে পারেন:

    • ফোন নম্বর থাকলে কল করুন
    • মানচিত্র, যদি একটি ঠিকানা নির্বাচন করা হয়
    • কপি
    • শেয়ার করুন
    • মন্তব্য

সামঞ্জস্য

PdfRendererPreV ক্লাসটি Android R থেকে U (API লেভেল 30–34) পর্যন্ত Android V API গুলিকে প্রকাশ করে।

অতিরিক্ত সম্পদ

আপনার অ্যাপে PDF ভিউয়ার কীভাবে যোগ করবেন তা জানতে "PDF ভিউয়ার বাস্তবায়ন করুন" দেখুন।