عدد كبير من الصور النقطية التي نتلقاها للاستخدام الشخصي والعمل هي صور ممسوحة ضوئيًا إما من خلال ماسح ضوئي رقمي أو قد تكون صورة من جهاز محمول. لذلك ، هناك فرص معقولة في عدم محاذاة النص الموجود داخل الصورة بشكل صحيح وتشغيله عبر هامش الصفحة إما أفقيًا أو رأسيًا. بكلمات بسيطة ، غالبًا ما تكون الصور الممسوحة ضوئيًا منحرفة (تم نقل / تدوير الورق) على الماسح الضوئي. الآن من أجل حل مثل هذه المشكلات ، نختار تقنية تسمى الخياطة الرأسية وهي عملية يتم من خلالها إزالة الانحراف عن طريق تدوير الصورة بنفس مقدار انحرافها ولكن في الاتجاه المعاكس. تعد ميزة Deskew مفيدة للغاية في المعالجة الآلية للصور ، عندما تأتي الصور من ماسح ضوئي.
الآن في هذه المقالة ، نبحث في التفاصيل حول كيفية تعديل الصورة باستخدام Java Cloud SDK. لذا تعمل وظيفة الانحراف في خطوتين ، أي تكتشف زاوية انحراف الصورة ثم تقوم بتدوير الصورة لتصحيح الانحراف. يمكننا تطبيق هذه العملية على الفاكسات المستلمة وباستخدام المعلومات (النص) على الصورة ، وحساب زاوية الدوران ، وليس هوامش الورقة وإنجاز المتطلبات. ومع ذلك ، فإننا نفهم أن عملية تعديل الصورة يمكن إجراؤها على صور ملونة 1 بت و 8 بت و 24 بت.
صورة انضغاطية API
من أجل دعم الصورة ، لدينا واجهة برمجة تطبيقات تستند إلى REST تقدم إمكانيات معالجة ملف الصور في السحابة. الآن بالنسبة لتطبيقات Java ، قمنا بتطوير برنامج Aspose.Imaging Cloud SDK for Java والذي يمكّنك من تنفيذ إمكانيات معالجة الصور عبر كود Java. الآن من أجل صور Deskew باستخدام Java cloud SDK ، فإن الخطوة الأولى هي إضافة مرجعها في مشروع java عن طريق تضمين المعلومات التالية في pom.xml (مشروع نوع بناء maven).
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
الخطوة التالية هي الحصول على بيانات اعتماد العميل من Cloud Dashboard وإذا لم يكن لديك حساب عبر Aspose Cloud Dashboard ، يرجى إنشاء حساب مجاني من خلال عنوان بريد إلكتروني صالح. سجّل الدخول الآن باستخدام حساب تم إنشاؤه حديثًا وابحث / أنشئ معرّف العميل وسر العميل في Aspose Cloud Dashboard.
تعديل الصورة عبر الإنترنت باستخدام Java
دعنا نستكشف التفاصيل حول كيفية تعديل الصورة باستخدام مقتطف كود Java. في هذا المثال ، نقوم بتحميل صورة TIFF من محرك أقراص محلي ونطبق عملية تعديل الصورة. ثم يتم حفظ الملف الناتج في التخزين السحابي.
- أولاً ، قم بإنشاء كائن من ImagingApi استنادًا إلى بيانات اعتماد العميل الشخصية
- ثانيًا ، قم بإنشاء متغير منطقي يشير إلى تغيير حجم الصورة بشكل متناسب
- اقرأ الآن محتوى مصدر TIFF باستخدام طريقة readAllBytes (…) وانتقل إلى مصفوفة بايت []
- الخطوة التالية هي إنشاء مثيل لـ CreateDeskewedImageRequest الذي يتطلب مصفوفة بايت ، ومعلمة اختيارية للون الخلفية واسم صورة المنضدة الناتجة
- أخيرًا ، قم باستدعاء الطريقة createDeskewedImage (…) لتعديل الصورة. يتم تخزين TIFF الناتج في التخزين السحابي
// احصل على ClientID و ClientSecret من https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// خلق كائن التصوير
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// تعيين متغير لتغيير حجم الصورة المنحرفة بشكل متناسب
boolean resizeProportionally = true;
// معلومات لون الخلفية
String bkColor = "white";
// تحميل الملف من محرك الأقراص المحلي
File f = new File("DeskewSampleImage.tiff");
// قراءة محتوى صورة TIFF إلى صفيف بايت
byte[] inputStream = Files.readAllBytes(f.toPath());
// إنشاء كائن لتحديد خصائص الصورة المنحرفة
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);
// تعديل الصورة وحفظ الإخراج في التخزين السحابي
imageApi.createDeskewedImage(request);
الآن إذا كنت تريد حفظ ملف TIFF الناتج على محرك أقراص محلي / شبكة ، فالرجاء محاولة استخدام مقتطف الشفرة التالي.
// احصل على ClientID و ClientSecret من https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// خلق كائن التصوير
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// تعيين متغير لتغيير حجم الصورة المنحرفة بشكل متناسب
boolean resizeProportionally = true;
// معلومات لون الخلفية
String bkColor = "white";
// تحميل الملف من محرك الأقراص المحلي
File f = new File("DeskewSampleImage.tif");
// قراءة محتوى صورة TIFF إلى صفيف بايت
byte[] inputStream = Files.readAllBytes(f.toPath());
// إنشاء كائن لتحديد خصائص الصورة المنحرفة
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);
// تعديل الصورة وإرجاع الإخراج ككائن دفق
byte[] updatedImage = imageApi.createDeskewedImage(request);
// مسار لتخزين صورة TIFF التي تم تحديثها
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();
// استدعاء واجهة برمجة التطبيقات إلى تعديل الصورة وحفظها في محرك الأقراص المحلي
Files.write(path, updatedImage);
يمكن تنزيل نموذج صورة TIFF المستخدمة في المثال أعلاه من DeskewSampleImage.tif.
تعديل ملف PDF باستخدام أوامر cURL
قد نتلقى ملف PDF يحتوي على صور منحرفة ، لذا فإن أحد الحلول السريعة هو استخراج الصور من ملف PDF ثم تعديل الصور. الآن من أجل تحقيق هذا المطلب ، سنستخدم اثنين من واجهات برمجة التطبيقات السحابية هنا ، أي Aspose.PDF Cloud لاستخراج الصور من ملف PDF و Aspose.Imaging Cloud إلى صور منحرفة. ومع ذلك ، قبل إجراء أي عملية ، نحتاج أولاً إلى إنشاء رمز وصول JWT (بناءً على بيانات اعتماد العميل) باستخدام الأمر التالي.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
بمجرد حصولنا على رمز JWT ، نحتاج إلى استخراج صور PDF باستخدام GrayscaleImage API لـ Aspose.PDF Cloud. يتم استخراج الصور بتنسيق TIFF ويتم تخزينها في التخزين السحابي.
curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/Resultant.pdf/pages/1/images/extract/tiff?width=0&height=0" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
الآن بعد أن تم استخراج الصور من ملف PDF بتنسيق TIFF ، نحتاج الآن إلى استدعاء DeskewImage API of Aspose.imaging Cloud إلى صورة منحرفة. نظرًا لأن الملف الناتج يتم إرجاعه في دفق الاستجابة ، حتى نتمكن من حفظه على محرك الأقراص المحلي الخاص بنا.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.tiff/deskew?resizeProportionally=true&bkColor=White" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Deskewed.tiff
خاتمة
بحلول هذا الوقت ، تعلمنا بعض الخطوات الرائعة والبسيطة لتعديل الصورة بالإضافة إلى تعديل ملف PDF باستخدام Java cloud SDK. حتى الآن يمكننا تحقيق متطلباتنا إما باستخدام مقتطف شفرة Java أو باستخدام أوامر cURL. في الوقت نفسه ، نشجعك بشدة على استكشاف وثائق المنتج لمعرفة المزيد حول الميزات المثيرة الأخرى التي تقدمها API.
يرجى ملاحظة أن جميع حزم SDK السحابية الخاصة بنا تم تطويرها بموجب ترخيص MIT بحيث يمكن تنزيل كود المصدر الكامل من GitHub. أخيرًا ، في حالة ظهور أي مشكلات أثناء استخدام واجهة برمجة التطبيقات ، يمكنك التفكير في الاتصال بنا للحصول على حل سريع عبر منتدى دعم المنتج مجانًا.
مقالات ذات صلة
يرجى زيارة الروابط التالية لمعرفة المزيد حول: