Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Simple Qrcode Laravel Package

simplesoftwareio/simple-qrcode

Laravel-friendly QR code generator built on BaconQrCode. Create PNG/SVG QR codes with a fluent API—set size, colors, margins, error correction, merge images, and output inline or save to files for apps, tickets, and more.

View on GitHub
Deep Wiki
Context7

Build Status Latest Stable Version Latest Unstable Version License Total Downloads

Deutsch | Español | Français | Italiano | Português | Русский | 日本語 | 한국어 | हिंदी | 简体中文 | العربية

المقدمة

Simple QrCode هو غلاف سهل الاستخدام لإطار عمل Laravel الشهير استنادًا إلى العمل الرائع الذي يقدمه Bacon/BaconQrCode. أنشأنا واجهة مألوفة و سهلة التثبيت لمستخدمي لارافل

المثال 1 المثال 2

دليل الترقية

قم بالترقية من V2 أو V3 عن طريق ملف composer.json إلى ~4

يجب تثبيت امتداد PHP الخاص بـ imagick إذا كنت تخطط لاستخدام تنسيق صورة png.

v4

كان هناك خطأ عند إنشاء 4.1.0 و السماح ل للتغيرات التي حدثت للفرع الرئيسي. دالة generate الآن ترجع حالة Illluminate\Support\HtmlString إذا كنت تستخدم لارافل. إطلع على https://github.com/SimpleSoftwareIO/simple-qrcode/issues/205 لمزيد من التفاصيل

كانت هنا مشكلة مع واجهة لارافل في الإصدار ال3 التي أحدثت بعض المشاكل في التحميل. الطريقة الوحيدة لإصلاح هذا هو الإعتماد على الإصدار الرابع من الحزمة. إذا أنت من الإصدار V2 لا يوجد اي حاجة لتغيير الكود. التغييرات الآتية فقط تشمل الإصدار الثالث V3

جميع الإشارات لواجهة QrCode تحتاج لتغيير الآتي:

use SimpleSoftwareIO\QrCode\Facades\QrCode;

Composer

قم بتشغيل composer require simplesoftwareio/simple-qrcode "~4" لإضافة الحزمة.

لارافل ستقوم تلقائيا بتنصيب الحزمة.

أفكار بسيطة

عرض الطباعة

واحدة من العناصر التي تستخدم هذه الحزمة لأجل الحصول على QrCodes في كل عروض الطباعة. هذه الخاصية تسمح للمستخدم للرجوع إلى الصفحة الأصلية بعد أن تمت طباعة الكود. حصلنا على هذه النتيجة عن طريق إضافة التالي لتذييل الصفحة footer.blade.php

<div class="visible-print text-center">
	{!! QrCode::size(100)->generate(Request::url()); !!}
	<p>Scan me to return to the original page.</p>
</div>

ممكن ان تضمن الqrcode داخل بريد إلكتروني للسماح لمستخدميك بعمل مسح سريع على qrcode. التالي هو مثال لكيفية عمل هذا بإستخدام إطار العمل لارافل.

//Inside of a blade template.
<img src="{!!$message->embedData(QrCode::format('png')->generate('Embed me into an e-mail!'), 'QrCode.png', 'image/png')!!}">

الإستخدامات البسيطة

// جميع الأمثلة التالية تفترض أن واجهة Qrcode تم إستدعائها.
// واجهة Qrcode يتم إستدعائها تلقائيا بالنسبة لمستخدمي لارافل

use SimpleSoftwareIO\QrCode\Facades\QrCode;

يعد استخدام QrCode Generator أمرًا سهلاً للغاية. أبسط شكل للكود هو:

use SimpleSoftwareIO\QrCode\Facades\QrCode;

QrCode::generate('Make me into a QrCode!');

هذا سيحول الكود إلى QrCode يحمل العبارة التالية: "Make me into a QrCode!"

Example QrCode

Generate (string $data, string $filename = null)

Generate تستخدم لإنشاء QrCode

QrCode::generate('Make me into a QrCode!');

Generate بشكل افتراضي سيعيد سلسلة صورة SVG. يمكنك طباعة هذا مباشرة في متصفح حديث داخل نظام Laravel's Blade باستخدام ما يلي:

{!! QrCode::generate('Make me into a QrCode!'); !!}

طريقة "generate" لها معلمة ثانية ستقبل اسم ملف ومسار لحفظ رمز الاستجابة السريعة.

QrCode::generate('Make me into a QrCode!', '../public/qrcodes/qrcode.svg');

شكل (string $format)

ثلاثة تنسيقات مدعومة حاليا ؛ png, eps, و svg . لتغيير التنسيق استخدم الكود التالي:

QrCode::format('png');  //Will return a png image
QrCode::format('eps');  //Will return a eps image
QrCode::format('svg');  //Will return a svg image

imagick مطلوبة لإنشاء إمتداد png

Size (int $size)

يمكنك تغيير حجم رمز الاستجابة السريعة باستخدام طريقةsize. ما عليك سوى تحديد الحجم المطلوب بالبكسل باستخدام الصيغة التالية:

QrCode::size(100);

200 Pixels 250 Pixels

Color (int $red, int $green, int $blue, int $alpha = null)

كن حذرًا عند تغيير لون رمز QrCode ، حيث يواجه بعض القراء صعوبة بالغة في قراءة رموز QrCode بالألوان.

يجب التعبير عن كل الألوان في RGBA (أحمر أخضر أزرق ألفا). يمكنك تغيير لون رمز الاستجابة السريعة باستخدام ما يلي:

QrCode::color(255, 0, 0); // Red QrCode
QrCode::color(255, 0, 0, 25); //Red QrCode with 25% transparency 

Red QrCode Red Transparent QrCode

Background Color (int $red, int $green, int $blue, int $alpha = null)

يمكنك تغيير لون خلفية رمز QrCode عن طريق استدعاء دالة backgroundColor.

QrCode::backgroundColor(255, 0, 0); // Red background QrCode
QrCode::backgroundColor(255, 0, 0, 25); //Red background QrCode with 25% transparency 

Red Background QrCode Red Transparent Background QrCode

Gradient $startRed, $startGreen, $startBlue, $endRed, $endGreen, $endBlue, string $type)

يمكنك تطبيق التدرج اللوني في الQrcode عن طريق إستدعاء الدالة gradient

يتم دعم أنواع التدرجات اللونية التالية:

النوع مثال
vertical Veritcal
horizontal Horizontal
diagonal Diagonal
inverse_diagonal Invrse Diagonal
radial Radial

EyeColor (int $eyeNumber, int $innerRed, int $innerGreen, int $innerBlue, int $outterRed = 0, int $outterGreen = 0, int $outterBlue = 0)

ربما تريد تغيير لون العين بإستخدم دالة eyeColor.

QrCode::eyeColor(0, 255, 255, 255, 0, 0, 0); // Changes the eye color of eye `0`
رقم العين مثال
0 Eye 0
1 Eye 1
2 Eye  2

Style (string $style, float $size = 0.5)

يمكن تبديل النمط بسهولة بـsquare أو dot أوround. سيؤدي هذا إلى تغيير الكتل داخل سيأثر المعامل الثاني للدالة على الحجم الخاص بالنقاط و الإستدارة

التنسيق

QrCode::style('dot'); // Uses the `dot` style.
التنسيق مثال
square Square
dot Dot
round Round

Eye Style (string $style)

العين التي بداخل الQrcode تدعم طريقتين مختلفيتين في التنسيق square و circle

QrCode::eye('circle'); // Uses the `circle` style eye.
Style Example
square Square
circle Circle

Margin (int $margin)

القدرة على تغيير الهامش حول QrCode مدعومة أيضًا. ما عليك سوى تحديد الهامش المطلوب باستخدام الصيغة التالية:

QrCode::margin(100);

Error Correction (string $errorCorrection)

من السهل تغيير مستوى تصحيح الخطأ. فقط استخدم الصيغة التالية:

QrCode::errorCorrection('H');

الخيارات التالية تم دعمها في دالة errorCorrection:

تصحيح الخطأ الضمان المتوفر
L 7% يمكن استعادة الكلمات المشفرة.
M 15% يمكن استعادة الكلمات المشفرة.
Q 25% يمكن استعادة الكلمات المشفرة.
H 30% يمكن استعادة الكلمات المشفرة.

كلما إستخدمت نسبة تصحيح الخطأ أكثر, لكما قلت مصداقية ال Qrcode في إسترجاع البيانات المسجلة داخله إطلع أكثر حول تصحيح الخطأ.

Encoding (string $encoding)

قم بتغيير ترميز الأحرف المستخدم لبناء QrCode. افتراضيًا ، يتم تحديد "ISO-8859-1" باعتباره المشفر. اقرأ المزيد عن ترميز الحروف.

يمكنك تغيير هذا إلى أي مما يلي:

QrCode::encoding('UTF-8')->generate('Make me a QrCode with special symbols ♠♥!!');
تشفير الأحرف
ISO-8859-1
ISO-8859-2
ISO-8859-3
ISO-8859-4
ISO-8859-5
ISO-8859-6
ISO-8859-7
ISO-8859-8
ISO-8859-9
ISO-8859-10
ISO-8859-11
ISO-8859-12
ISO-8859-13
ISO-8859-14
ISO-8859-15
ISO-8859-16
SHIFT-JIS
WINDOWS-1250
WINDOWS-1251
WINDOWS-1252
WINDOWS-1256
UTF-16BE

UTF-8 | | ASCII | | GBK | | EUC-KR |

Merge (string $filepath, float $percentage = .2, bool $absolute = false)

تدمج دالة merge صورة عبر QrCode. يستخدم هذا بشكل شائع لوضع الشعارات داخل QrCode.

//Generates a QrCode with an image centered in the middle.
QrCode::format('png')->merge('path-to-image.png')->generate();

//Generates a QrCode with an image centered in the middle.  The inserted image takes up 30% of the QrCode.
QrCode::format('png')->merge('path-to-image.png', .3)->generate();

//Generates a QrCode with an image centered in the middle.  The inserted image takes up 30% of the QrCode.
QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate();

دالة "merge" تدعم PNG فقط في الوقت الحالي. يعد مسار الملف نسبيًا لمسار التطبيق الأساسي إذا تم تعيين$absolute على false. غيّر هذا المتغير إلى true لاستخدام المسارات المطلقة.

يجب عليك استعمال نسبة الإرتفاع ل تصحيح الخطأ عندما تستعمل دالة merge للتأكد أن ال Qrcode باقي سهل القراءة. نوصي باستخدام errorCorrection('H').

Merged Logo

Merge Binary String (string $content, float $percentage = .2)

دالة mergeString يمكن إستخدامها للوصول لنفس النتيجة عندما تستدعي دالة merge, باستثناء أنه يسمح لك بتوفير تمثيل سلسلة للملف بدلاً من مسار الملف. هذا مفيد عند العمل مع واجهة Storage. واجهته مشابهة تمامًا لدالة merge

//Generates a QrCode with an image centered in the middle.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'))->generate();

//Generates a QrCode with an image centered in the middle.  The inserted image takes up 30% of the QrCode.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'), .3)->generate();

إستعمالات متقدمة

جميع الدوال تدعم التسلسل. يجب إستدعاء دالة generate في الأخير. على سبيل المثال:

QrCode::size(250)->color(150,90,10)->backgroundColor(10,14,244)->generate('Make me a QrCode!');
QrCode::format('png')->size(399)->color(40,40,40)->generate('Make me a QrCode!');

تستطيع عرض صورة بإمتداد PNG بدون حفظ الملف من خلال توفير سلسلة raw string و encoding بواسطة base64_encode.

<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(100)->generate('Make me into an QrCode!')) !!} ">

الدوال المساعدة

ماهي الدوال المساعدة

تعد الدوال المساعدة طريقة سهلة لإنشاء QrCodes التي تجعل القارئ يقوم بعمل معين عند مسحه ضوئيا

بيتكوين

This helper generates a scannable bitcoin to send payments. More information

هاته الدالة المساعدة تقوم بعمل إنشاء عملة بيتكوين قابلة للمسح لإرسال مدفوعات. لمزيد من المعلومات أضغط على الرابط

QrCode::BTC($address, $amount);

//Sends a 0.334BTC payment to the address
QrCode::BTC('bitcoin address', 0.334);

//Sends a 0.334BTC payment to the address with some optional arguments
QrCode::size(500)->BTC('address', 0.0034, [
    'label' => 'my label',
    'message' => 'my message',
    'returnAddress' => 'https://www.returnaddress.com'
]);

البريد الإلكتروني

هاته الدالة المساعدة تمكنك من إنشاء QrCode للبريد الإلكتروني عنوان بريد إلكتروني مع الموضوع و المحتوى

QrCode::email($to, $subject, $body);

//Fills in the to address
QrCode::email('foo@bar.com');

//Fills in the to address, subject, and body of an e-mail.
QrCode::email('foo@bar.com', 'This is the subject.', 'This is the message body.');

//Fills in just the subject and body of an e-mail.
QrCode::email(null, 'This is the subject.', 'This is the message body.');

الموقع الجغرافي

هاته الدالة المساعة تنشأ لك خطوط طول و عرض لتتم القرائة عن طريق الهاتف و فتح الموقع على خرائط Google أو تطبيق مشابه

QrCode::geo($latitude, $longitude);

QrCode::geo(37.822214, -122.481769);

رقم الهاتف

هاته الدالة تمكنك من إنشاء QrCode يستطيع الهاتف مسحه و الإتصال بالرقم.

QrCode::phoneNumber($phoneNumber);

QrCode::phoneNumber('555-555-5555');
QrCode::phoneNumber('1-800-Laravel');

الرسائل القصيرة (الرسائل النصية)

هاته الدالة المساعدة تمكنك من إنشاء رسالة نصية و التي يمكن تعبئتها مسبقًا بالإرسال إلى العنوان ونص الرسالة:

QrCode::SMS($phoneNumber, $message);

//Creates a text message with the number filled in.
QrCode::SMS('555-555-5555');

//Creates a text message with the number and message filled in.
QrCode::SMS('555-555-5555', 'Body of the message');

الوايفاي

هاته الدالة المساعدة تمكنك من مسح ال QrCodes التي بدورها تعمل إتصال من الهاتف لشبكة الوايفاي:

QrCode::wiFi([
	'encryption' => 'WPA/WEP',
	'ssid' => 'SSID of the network',
	'password' => 'Password of the network',
	'hidden' => 'Whether the network is a hidden SSID or not.'
]);

//Connects to an open WiFi network.
QrCode::wiFi([
	'ssid' => 'Network Name',
]);

//Connects to an open, hidden WiFi network.
QrCode::wiFi([
	'ssid' => 'Network Name',
	'hidden' => 'true'
]);

//Connects to a secured WiFi network.
QrCode::wiFi([
	'ssid' => 'Network Name',
	'encryption' => 'WPA',
	'password' => 'myPassword'
]);

منتجات أبل في الوقت الحالي لا تدعم مسح الوايفاي عن طريق ال QrCode

الإستعمالات الشائعة لل QrCode

يمكنك استخدام بادئة موجودة في الجدول أدناه داخل قسم generate لإنشاء رمز QrCode لتخزين المزيد من المعلومات المتقدمة:

QrCode::generate('http://www.simplesoftware.io');
الإستعمال الإختصار مثال
رابط موقع إلكتروني http:// http://www.simplesoftware.io
عنوان URL آخمن https:// https://www.simplesoftware.io
بريد إلكتروني mailto: mailto:support@simplesoftware.io
رقم هاتف tel: tel:555-555-5555
رسالة نصية (SMS) sms: sms:555-555-5555
رسالة نصية (SMS) مع رسالة مكتوبة مسبقًا sms: sms::I am a pretyped message
رسالة نصية (SMS) مع رسالة ورقم مكتوب مسبقًا sms: sms:555-555-5555:I am a pretyped message
العنوان الجغرافي geo: geo:-78.400364,-85.916993
MeCard mecard: MECARD:Simple, Software;Some Address, Somewhere, 20430;TEL:555-555-5555;EMAIL:support@simplesoftware.io;
VCard BEGIN:VCARD See Examples
الوايفاي wifi: wifi:WEP/WPA;SSID;PSK;Hidden(True/False)

إستخدام خارج لارافل

يمكنك إستخدام هاته الحزمة خارج إطار لارافل عبر إنشاء Generator كلاس Class جديد:

use SimpleSoftwareIO\QrCode\Generator;

$qrcode = new Generator;
$qrcode->size(500)->generate('Make a qrcode without Laravel!');
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4