UIDocumentInteractionController — Open In এবং নথি

লেখক: IT Sectr প্রকাশিত: 2026-07-11 পড়ার সময়: 6 মিনিট

UIDocumentInteractionController হল একটি iOS কন্ট্রোলার যা নথি প্রিভিউ এবং অ্যাপগুলোর মধ্যে ফাইল শেয়ার করার জন্য ব্যবহৃত হয়। এটি Open In ফিচার বাস্তবায়ন করে, যা ব্যবহারকারীকে যেকোনো সামঞ্জস্যপূর্ণ অ্যাপে ফাইল খুলতে, ইমেলের মাধ্যমে পাঠাতে বা ক্লাউড স্টোরেজে সংরক্ষণ করতে দেয়। Apple Developer Documentation (2025) অনুসারে, কন্ট্রোলারটি PDF, ছবি এবং অফিস নথি দেখার জন্য বিল্ট-ইন Preview-ও সমর্থন করে।

মূল পয়েন্ট

  • UIDocumentInteractionController — অন্যান্য অ্যাপে নথি দেখার এবং পাঠানোর জন্য একটি iOS কন্ট্রোলার।
  • Preview — অ্যাপ সুইচ না করে PDF, ছবি এবং অফিস নথির জন্য বিল্ট-ইন ভিউয়ার।
  • Open In — সম্পাদনা বা দেখার জন্য অন্য অ্যাপে ফাইল স্থানান্তরের ফাংশন।
  • UIDocumentInteractionControllerDelegate অ্যানিমেশন, মেনু অবস্থান এবং অপারেশন সমাপ্তি পরিচালনা করে।
  • UIDocumentPickerViewController-এর বিপরীতে, এই API ফাইল নির্বাচন করে না বরং বিদ্যমান ফাইল স্থানান্তর করে।

UIDocumentInteractionController কী?

UIDocumentInteractionController হল একটি UIKit ক্লাস যা নথির সাথে কাজ করার জন্য সিস্টেম ইন্টারফেস প্রদান করে। UIDocumentPickerViewController-এর বিপরীতে, যা ফাইল নির্বাচন করে, এই কন্ট্রোলার অ্যাপের বিদ্যমান ফাইলের সাথে কাজ করে এবং ব্যবহারকারীকে ক্রিয়া প্রদান করে: প্রিভিউ, অন্য অ্যাপে খোলা, প্রিন্ট বা পাঠানো।

কন্ট্রোলারটি ViewController নয় — এটি present-এর মাধ্যমে কল করা হয় না। পরিবর্তে, এটি presentOptionsMenu বা presentPreview পদ্ধতির মাধ্যমে সিস্টেম অ্যাকশন মেনু প্রদর্শন করে। মেনুটি প্রদত্ত ফাইল টাইপ হ্যান্ডেল করার জন্য নিবন্ধিত সমস্ত অ্যাপ দেখায়।

UIDocumentInteractionController iOS 2.0 থেকে উপলব্ধ এবং নথির সাথে কাজ করার জন্য প্রাচীনতম APIগুলোর মধ্যে একটি। বয়স সত্ত্বেও, এটি তৃতীয়-পক্ষ লাইব্রেরি ছাড়া Open In ফিচার এবং বিল্ট-ইন প্রিভিউ বাস্তবায়নের জন্য প্রাসঙ্গিক রয়ে গেছে।

Preview মোড: বিল্ট-ইন নথি ভিউয়ার

Preview হল UIDocumentInteractionController-এর দ্বারা প্রদত্ত একটি বিল্ট-ইন নথি ভিউয়ার। এটি PDF, ছবি, টেক্সট ফাইল এবং অফিস নথি (.doc, .xls, .ppt সহ) সমর্থন করে। Preview স্ট্যান্ডার্ড Quick Look-এর মতো ট্রানজিশন অ্যানিমেশন সহ প্রদর্শিত হয়।

Preview চালু করতে presentPreview পদ্ধতি কল করুন। কন্ট্রোলারের একটি ডেলিগেট প্রয়োজন যা previewControllerForDocumentInteractionController পদ্ধতি বাস্তবায়ন করে, যা নথি প্রদর্শনের জন্য UIViewController ফেরত দেয়। সাধারণত self বা একটি নেভিগেশন কন্ট্রোলার ফেরত দেওয়া হয়।

বিল্ট-ইন Preview অতিরিক্ত ফ্রেমওয়ার্ক বা লাইসেন্সের প্রয়োজন হয় না। এটি যেকোনো ফাইলের সাথে কাজ করে যার URL url প্রপার্টিতে দেওয়া হয়েছে। ব্যবহারকারীরা PDF পৃষ্ঠা স্ক্রোল করতে, ছবি জুম করতে এবং নথি থেকে টেক্সট কপি করতে পারেন।

Open In মোড: অ্যাপগুলোর মধ্যে ফাইল স্থানান্তর

Open In হল UIDocumentInteractionController-এর মূল বৈশিষ্ট্য। এটি প্রদত্ত ফাইল টাইপ খুলতে পারে এমন অ্যাপের তালিকা প্রদর্শন করে। ব্যবহারকারী লক্ষ্য অ্যাপ নির্বাচন করে, এবং iOS ফাইলটি তার স্যান্ডবক্সে কপি করে, নথির সাথে কাজ করার জন্য অ্যাপ চালু করে।

অ্যাপ তালিকা অন্যান্য অ্যাপের Info.plist-এ নিবন্ধিত Document Type এন্ট্রির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে তৈরি হয়। যদি কোনো অ্যাপ PDF সমর্থন নিবন্ধন করে, তবে এটি PDF ফাইলের জন্য Open In মেনুতে উপস্থিত হবে। সিস্টেম স্ট্যান্ডার্ড ক্রিয়াও দেখায়: প্রিন্ট, ইমেল দ্বারা পাঠানো, ফাইলে সংরক্ষণ।

Open In ফাইল কপি করে — লক্ষ্য অ্যাপ তার নিজস্ব কপি পায়, তাই পরিবর্তনগুলি মূল অ্যাপে ফেরত সংরক্ষিত হয় না। যদি সংরক্ষণের সাথে সম্পাদনার প্রয়োজন হয়, তবে সিকিউরিটি-স্কোপড URL সহ এক্সপোর্ট মোডে UIDocumentPickerViewController ব্যবহার করুন।

বিকল্প হিসেবে UIActivityViewController

iOS 6 থেকে, UIActivityViewController উপলব্ধ, যা ফাইল শেয়ারিংকেও সমর্থন করে। UIDocumentInteractionController-এর বিপরীতে, UIActivityViewController AirDrop, ইমেল, মেসেজ এবং কাস্টম UIActivity-এর সমর্থন সহ সিস্টেম অ্যাক্টিভিটি শিট দেখায়। সহজ ফাইল শেয়ারিংয়ের জন্য, UIActivityViewController-কে আরও আধুনিক API হিসেবে সুপারিশ করা হয়।

কোড উদাহরণ: Swift-এ Open In

UIDocumentInteractionController-এর মাধ্যমে Open In-এর বাস্তবায়ন মাত্র কয়েক লাইন কোড প্রয়োজন: একটি ইনস্ট্যান্স তৈরি করুন, URL এবং ডেলিগেট সেট করুন, presentOptionsMenu কল করুন। কন্ট্রোলার ফাইল টাইপের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে উপলব্ধ অ্যাপের তালিকা সংগ্রহ করে।

swift
class DocumentViewController: UIViewController {

    lazy var interactionController = UIDocumentInteractionController()

    func shareFile(url: URL) {
        interactionController.url = url
        interactionController.uti = url.utiType()
        interactionController.delegate = self
        interactionController.presentOptionsMenu(
            from: self.view.bounds,
            in: self.view,
            animated: true
        )
    }
}

মেনুর পরিবর্তে Preview চালু করা

Open In মেনুর পরিবর্তে বিল্ট-ইন ভিউয়ার প্রদর্শন করতে presentPreview পদ্ধতি ব্যবহার করুন। কন্ট্রোলার স্ক্রোল করার ক্ষমতা সহ পূর্ণ স্ক্রিনে নথি দেখাবে। ডেলিগেটকে previewControllerForDocumentInteractionController পদ্ধতি বাস্তবায়ন করতে হবে, যা প্রদর্শনের জন্য UIViewController ফেরত দেয়।

UIDocumentInteractionControllerDelegate এবং লাইফসাইকেল

UIDocumentInteractionControllerDelegate মেনু এবং Preview-এর প্রদর্শন এবং বাতিলকরণ পরিচালনা করে। ডেলিগেট ঐচ্ছিক পদ্ধতি বাস্তবায়ন করে: উপস্থিতি অ্যানিমেশনের জন্য documentInteractionControllerWillPresentOpenInMenu, মেনু বাতিলের পরে রিসোর্স ক্লিনআপের জন্য documentInteractionControllerDidDismissOpenInMenu

Preview-এর জন্য একটি গুরুত্বপূর্ণ পদ্ধতি হল previewControllerForDocumentInteractionController, যা নথি প্রদর্শনের জন্য UIViewController ফেরত দিতে হবে। যদি পদ্ধতিটি বাস্তবায়িত না হয় বা nil ফেরত দেয়, তবে Preview চালু হবে না। সাধারণত self বা self-যুক্ত UINavigationController ফেরত দেওয়া হয়।

কন্ট্রোলার documentInteractionController:didEndSendingToApplication পদ্ধতিও সমর্থন করে, যা অন্য অ্যাপে ফাইল সফলভাবে পাঠানোর পরে কল করা হয়। এটি অস্থায়ী ফাইল পরিষ্কার বা অ্যাপে ফিরে আসার পরে ইন্টারফেস আপডেট করার অনুমতি দেয়।

UIDocumentPickerViewController থেকে পার্থক্য

UIDocumentInteractionController এবং UIDocumentPickerViewController ভিন্ন ভিন্ন কাজ সমাধান করে, যদিও উভয়ই নথির সাথে কাজ করে। মূল পার্থক্য: UIDocumentInteractionController একটি বিদ্যমান ফাইল অন্য অ্যাপে স্থানান্তর করে, যেখানে UIDocumentPickerViewController বর্তমান অ্যাপের জন্য বাহ্যিক উৎস থেকে ফাইল নির্বাচন করে।

প্যারামিটারUIDocumentInteractionControllerUIDocumentPickerViewController
উদ্দেশ্যঅন্য অ্যাপে ফাইল পাঠানোঅন্য উৎস থেকে ফাইল নির্বাচন
উৎসঅ্যাপের নিজস্ব ফাইলযেকোনো স্টোরেজ (iCloud, ফাইল, তৃতীয়-পক্ষ)
মোডপ্রাপকের কাছে ফাইলের কপিবর্তমান অ্যাপের জন্য ইম্পোর্ট বা এক্সপোর্ট
ইন্টারফেসসিস্টেম মেনু (Action Sheet)পূর্ণাঙ্গ ফাইল ব্রাউজার
ফেরতকোনো ফলাফল ফেরত দেয় নাডেলিগেটের মাধ্যমে নির্বাচিত ফাইলের URL

UIDocumentInteractionController মৌলিক অপারেশনের জন্য ডেলিগেটের প্রয়োজন হয় না — পদ্ধতি বাস্তবায়ন না করলেও মেনু প্রদর্শিত হবে। ডেলিগেট ছাড়া UIDocumentPickerViewController অকেজো — নির্বাচনের ফলাফল প্রক্রিয়াকৃত হবে না। API-এর পছন্দ পরিস্থিতির উপর নির্ভর করে: ফাইল পাঠানো → UIDocumentInteractionController, ফাইল গ্রহণ → UIDocumentPickerViewController।

সচরাচর জিজ্ঞাসিত প্রশ্ন

iOS-এ UIDocumentInteractionController কী?

UIDocumentInteractionController হল একটি UIKit কন্ট্রোলার যা Open In ফিচার এবং বিল্ট-ইন Preview-এর মাধ্যমে নথি প্রিভিউ এবং অ্যাপগুলোর মধ্যে ফাইল স্থানান্তরের জন্য ব্যবহৃত হয়।

UIDocumentInteractionController ব্যবহার করে অন্য অ্যাপে ফাইল কীভাবে খুলবেন?

একটি ইনস্ট্যান্স তৈরি করুন, লক্ষ্য ফাইলে url প্রপার্টি সেট করুন, ডেলিগেট নির্দিষ্ট করুন এবং presentOptionsMenu কল করুন। সিস্টেম প্রদত্ত ফাইল টাইপ সমর্থন করে এমন অ্যাপের তালিকা দেখাবে।

Preview এবং Quick Look-এর মধ্যে পার্থক্য কী?

UIDocumentInteractionController Preview মৌলিক ক্ষমতা সম্পন্ন একটি একক নথির জন্য বিল্ট-ইন ভিউয়ার। Quick Look (QLPreviewController) ব্যাচ ভিউইং, এক্সটেনশন এবং অতিরিক্ত ফাইল ফরম্যাটের সমর্থন সহ একটি পৃথক ফ্রেমওয়ার্ক।

UIDocumentInteractionController-এর জন্য কি ডেলিগেট বাস্তবায়ন করা প্রয়োজন?

মৌলিক অপারেশনের জন্য ডেলিগেট ঐচ্ছিক — মেনু এটি ছাড়া প্রদর্শিত হবে। ডেলিগেট শুধুমাত্র Preview-এর জন্য (পদ্ধতি previewControllerForDocumentInteractionController) এবং ফাইল পাঠানোর সমাপ্তি ট্র্যাক করার জন্য বাধ্যতামূলক।

UIDocumentInteractionController, UIDocumentPickerViewController থেকে কীভাবে আলাদা?

UIDocumentInteractionController অ্যাপ থেকে একটি বিদ্যমান ফাইল অন্য অ্যাপে পাঠায়। UIDocumentPickerViewController বাহ্যিক উৎস থেকে বর্তমান অ্যাপে ফাইল নির্বাচন করে। প্রথমটি পাঠানোর জন্য, দ্বিতীয়টি গ্রহণের জন্য।

সারসংক্ষেপ

  • UIDocumentInteractionController — iOS 2.0 থেকে উপলব্ধ, অ্যাপগুলোর মধ্যে ফাইল দেখার এবং পাঠানোর জন্য একটি iOS কন্ট্রোলার।
  • Preview তৃতীয়-পক্ষ লাইব্রেরি ছাড়া PDF, ছবি এবং অফিস নথির জন্য বিল্ট-ইন ভিউয়ার প্রদান করে।
  • Open In নির্বাচিত অ্যাপের স্যান্ডবক্সে ফাইল কপি করে — পরিবর্তনগুলি মূল অ্যাপে ফেরত আসে না।
  • UIDocumentInteractionControllerDelegate ডেলিগেট পদ্ধতির মাধ্যমে অ্যানিমেশন, মেনু অবস্থান এবং পাঠানোর সমাপ্তি পরিচালনা করে।
  • presentOptionsMenu প্রদত্ত ফাইল টাইপের জন্য উপলব্ধ অ্যাপ সহ সিস্টেম মেনু প্রদর্শন করে।
  • UIActivityViewController iOS 6 থেকে ফাইল শেয়ারিংয়ের জন্য আরও আধুনিক বিকল্প।
  • মূল পার্থক্য UIDocumentPickerViewController থেকে: প্রথমটি অ্যাপ থেকে ফাইল পাঠায়, দ্বিতীয়টি অ্যাপে ফাইল নির্বাচন করে।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন