طباعة الصور
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يعد التقاط الصور ومشاركتها أحد أكثر الاستخدامات شيوعًا للأجهزة الجوّالة. إذا كان طلبك
لالتقاط الصور أو عرضها أو السماح للمستخدمين بمشاركة الصور، يجب تفعيل خيار الطباعة
تلك الصور في تطبيقك. توفر مكتبة دعم Android وظيفة ملائمة لتفعيل طباعة الصور باستخدام
أقل قدر من التعليمات البرمجية ومجموعة بسيطة من خيارات تخطيط الطباعة.
يوضّح لك هذا الدرس كيفية طباعة صورة باستخدام الإصدار 4 من مكتبة الدعم فئة PrintHelper
.
طباعة صورة
يوفّر الصف PrintHelper
في مكتبة دعم Android
طريقة بسيطة لطباعة الصور. تتضمّن الفئة خيار تنسيق واحدًا، وهو setScaleMode()
،
التي تتيح لك الطباعة باستخدام أحد الخيارَين التاليَين:
SCALE_MODE_FIT
- هذا
يضبط هذا الخيار حجم الصورة بحيث يتم عرض الصورة بالكامل داخل المنطقة القابلة للطباعة من الصفحة.
SCALE_MODE_FILL
- هذا
يعمل الخيار على تغيير حجم الصورة بحيث تملأ المنطقة القابلة للطباعة بالكامل من الصفحة. اختيار هذا المحتوى
أن جزءًا من الجزء العلوي والسفلي أو الأيمن أو الأيسر للصورة
ولم تتم طباعته. ويكون هذا الخيار هو القيمة التلقائية في حال عدم ضبط وضع مقياس.
يحافظ كلا خيارَي تغيير الحجم على setScaleMode()
على نسبة العرض إلى الارتفاع الحالية للصورة كما هي. مثال التعليمة البرمجية التالي
طريقة إنشاء مثيل لفئة PrintHelper
، يمكنك ضبط
وبدء عملية الطباعة:
Kotlin
private fun doPhotoPrint() {
activity?.also { context ->
PrintHelper(context).apply {
scaleMode = PrintHelper.SCALE_MODE_FIT
}.also { printHelper ->
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids)
printHelper.printBitmap("droids.jpg - test print", bitmap)
}
}
}
Java
private void doPhotoPrint() {
PrintHelper photoPrinter = new PrintHelper(getActivity());
photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.droids);
photoPrinter.printBitmap("droids.jpg - test print", bitmap);
}
يمكن استدعاء هذه الطريقة كإجراء لعنصر قائمة. لاحظ أن عناصر القائمة للإجراءات
غير مدعومة دائمًا (مثل الطباعة) في القائمة الكاملة. لمزيد من المعلومات،
المعلومات، فراجع تصميم شريط الإجراءات
الدليل.
بعد تنفيذ طريقة printBitmap()
لا يلزم اتخاذ أي إجراء آخر من طلبك. واجهة مستخدم طباعة Android
مما يسمح للمستخدم بتحديد طابعة وخيارات الطباعة. يمكن للمستخدم بعد ذلك طباعة
صورة أو إلغاء الإجراء. إذا اختار المستخدم طباعة الصورة، فسيتم إنشاء مهمة طباعة
يظهر إشعار الطباعة في شريط النظام.
إذا كنت تريد تضمين محتوى إضافي في نُسخك المطبوعة خارج إطار صورة، يجب عليك
إنشاء مستند طباعة. للحصول على معلومات عن إنشاء المستندات للطباعة، يمكنك الاطّلاع على
طباعة مستند HTML أو
طباعة مستند مخصّص
الدروس.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Printing photos\n\nTaking and sharing photos is one of the most popular uses for mobile devices. If your application\ntakes photos, displays them, or allows users to share images, you should consider enabling printing\nof those images in your application. The [Android Support Library](/tools/support-library) provides a convenient function for enabling image printing using a\nminimal amount of code and simple set of print layout options.\n\nThis lesson shows you how to print an image using the v4 support library [PrintHelper](/reference/androidx/print/PrintHelper) class.\n\nPrint an image\n--------------\n\nThe Android Support Library [PrintHelper](/reference/androidx/print/PrintHelper) class provides\na simple way to print images. The class has a single layout option, [setScaleMode()](/reference/androidx/print/PrintHelper#setScaleMode(int)),\nwhich allows you to print with one of two options:\n\n- [SCALE_MODE_FIT](/reference/androidx/print/PrintHelper#SCALE_MODE_FIT) - This option sizes the image so that the whole image is shown within the printable area of the page.\n- [SCALE_MODE_FILL](/reference/androidx/print/PrintHelper#SCALE_MODE_FILL) - This option scales the image so that it fills the entire printable area of the page. Choosing this setting means that some portion of the top and bottom, or left and right edges of the image is not printed. This option is the default value if you do not set a scale mode.\n\nBoth scaling options for [setScaleMode()](/reference/androidx/print/PrintHelper#setScaleMode(int)) keep the existing aspect ratio of the image intact. The following code example\nshows how to create an instance of the [PrintHelper](/reference/androidx/print/PrintHelper) class, set the\nscaling option, and start the printing process: \n\n### Kotlin\n\n```kotlin\nprivate fun doPhotoPrint() {\n activity?.also { context -\u003e\n PrintHelper(context).apply {\n scaleMode = PrintHelper.SCALE_MODE_FIT\n }.also { printHelper -\u003e\n val bitmap = BitmapFactory.decodeResource(resources, R.drawable.droids)\n printHelper.printBitmap(\"droids.jpg - test print\", bitmap)\n }\n }\n}\n```\n\n### Java\n\n```java\nprivate void doPhotoPrint() {\n PrintHelper photoPrinter = new PrintHelper(getActivity());\n photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);\n Bitmap bitmap = BitmapFactory.decodeResource(getResources(),\n R.drawable.droids);\n photoPrinter.printBitmap(\"droids.jpg - test print\", bitmap);\n}\n```\n\n\nThis method can be called as the action for a menu item. Note that menu items for actions that are\nnot always supported (such as printing) should be placed in the overflow menu. For more\ninformation, see the [Action Bar](/design/patterns/actionbar) design\nguide.\n\nAfter the [printBitmap()](/reference/androidx/print/PrintHelper#printBitmap(java.lang.String, android.graphics.Bitmap)) method is\ncalled, no further action from your application is required. The Android print user interface\nappears, allowing the user to select a printer and printing options. The user can then print the\nimage or cancel the action. If the user chooses to print the image, a print job is created and a\nprinting notification appears in the system bar.\n\nIf you want to include additional content in your printouts beyond just an image, you must\nconstruct a print document. For information on creating documents for printing, see the\n[Printing an HTML document](/training/printing/html-docs) or\n[Printing a custom document](/training/printing/custom-docs)\nlessons."]]