Մեծ թվով ռաստերային պատկերներ, որոնք մենք ստանում ենք աշխատանքային և անձնական օգտագործման համար, սկանավորված պատկերներ են կամ թվային սկաների միջոցով, կամ կարող են լինել շարժական սարքի նկար: Այսպիսով, կան արդար հնարավորություններ, որ պատկերի ներսում տեքստը պատշաճ կերպով չի դասավորված և անցնում է էջի լուսանցքով կամ հորիզոնական կամ ուղղահայաց: Պարզ բառերով ասած, սկանավորված պատկերները հաճախ շեղվում են (թուղթը տեղափոխվել/պտտվել է) սկաների վրա: Այժմ, որպեսզի լուծենք նման խնդիրները, մենք ընտրում ենք մի տեխնիկա, որը կոչվում է deskewing, որը գործընթաց է, երբ թեքությունը հեռացվում է պատկերը պտտելով նույն չափով, որքան դրա թեքությունը, բայց հակառակ ուղղությամբ: Deskew ֆունկցիան չափազանց օգտակար է ավտոմատացված պատկերների մշակման համար, երբ պատկերները գալիս են սկաներից:
Այժմ այս հոդվածում մենք ուսումնասիրում ենք այն մանրամասները, թե ինչպես կարելի է պատկերը հեռացնել Java Cloud SDK-ի միջոցով: Այսպիսով, deskew ֆունկցիան աշխատում է երկու քայլով, այսինքն՝ հայտնաբերում է պատկերի թեքության անկյունը և այնուհետև պտտում է պատկերը՝ թեքությունը շտկելու համար: Մենք կարող ենք կիրառել այս գործողությունը ստացված ֆաքսերի վրա և օգտագործելով պատկերի տեղեկատվությունը (տեքստը), հաշվարկել պտտման անկյունը, ոչ թե թղթի լուսանցքները և կատարել պահանջը: Այնուամենայնիվ, մենք հասկանում ենք, որ պատկերի շերտազատման գործողությունը կարող է իրականացվել 1 բիթ, 8 բիթ և 24 բիթ գունավոր պատկերների վրա:
- Deskew Image API
- Deskew Image Online-ը Java-ի միջոցով
- Շերտազերծել PDF-ը՝ օգտագործելով cURL հրամանները
Deskew Image API
Պատկերին աջակցելու համար մենք ունենք REST-ի վրա հիմնված API, որն առաջարկում է Cloud-ում պատկերների ֆայլը շահարկելու հնարավորություն: Այժմ Java հավելվածների համար մենք հատուկ մշակել ենք Aspose.Imaging Cloud SDK for Java, որը հնարավորություն է տալիս իրականացնել պատկերների մշակման հնարավորությունները Java կոդի միջոցով: Այժմ՝ Java ամպային SDK-ի միջոցով պատկերները չեզոքացնելու համար, առաջին քայլը դրա հղումն ավելացնելն է java նախագծում՝ ներառելով հետևյալ տեղեկատվությունը pom.xml-ում (maven build type project):
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://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-ում, խնդրում ենք ստեղծել անվճար հաշիվ վավեր էլ. հասցեի միջոցով: Այժմ մուտք գործեք՝ օգտագործելով նորաստեղծ հաշիվը և փնտրեք/ստեղծեք Հաճախորդի ID-ն և Հաճախորդի գաղտնիքը Aspose Cloud Dashboard-ում:
Deskew Image Online-ը Java-ի միջոցով
Եկեք ուսումնասիրենք մանրամասներն այն մասին, թե ինչպես կարելի է նկարը քանդել Java կոդի հատվածի միջոցով: Այս օրինակի համար մենք բեռնում ենք TIFF պատկերը տեղական դրայվից և կիրառում ենք «deskew» լուսանկարչական գործողությունը: Արդյունքում ստացված ֆայլն այնուհետև պահվում է ամպային պահեստում:
- Նախ, ստեղծեք ImagingApi-ի օբյեկտ՝ հիմնված անհատականացված հաճախորդի հավատարմագրերի վրա
- Երկրորդ, ստեղծեք բուլյան փոփոխական, որը ցույց է տալիս պատկերի չափափոխումը համաչափ
- Այժմ կարդացեք աղբյուրի TIFF-ի բովանդակությունը՝ օգտագործելով readAllBytes(…) մեթոդը և անցեք բայթ[] զանգվածին:
- Հաջորդ քայլը CreateDeskewedImageRequest-ի օրինակ ստեղծելն է, որը պահանջում է բայթ զանգված, կամընտիր պարամետր ֆոնի գույնի համար և արդյունքում ստացված deskew լուսանկարի անվանումը:
- Վերջում զանգահարեք createDeskewedImage(…) մեթոդը՝ deskew image: Արդյունքում ստացված 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());
// ստեղծել օբյեկտ, որը սահմանում է deskew պատկերի հատկությունները
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());
// ստեղծել օբյեկտ, որը սահմանում է deskew պատկերի հատկությունները
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();
// զանգահարեք API՝ լուսանկարը շտկելու և տեղական սկավառակում պահելու համար
Files.write(path, updatedImage);
Վերոնշյալ օրինակում օգտագործված TIFF պատկերի նմուշը կարելի է ներբեռնել DeskewSampleImage.tif-ից:
Շերտացրեք PDF-ը` օգտագործելով cURL հրամանները
Մենք կարող ենք ստանալ PDF ֆայլ, որը պարունակում է շեղված պատկերներ, այնպես որ արագ լուծումներից մեկը պատկերներ հանելն է PDF ֆայլից, այնուհետև նկարները հեռացնելը: Այժմ այս պահանջը կատարելու համար մենք այստեղ կօգտագործենք երկու Cloud API, այսինքն՝ 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 պատկերներ՝ օգտագործելով Aspose.PDF Cloud-ի GrayscaleImage API-ն: Պատկերները արդյունահանվում են 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 ձևաչափ, այժմ մենք պետք է կանչենք Aspose.Imaging Cloud-ի DeskewImage API-ն՝ պատկերը մաքրելու համար: Քանի որ ստացված ֆայլը վերադարձվում է պատասխան հոսքով, այնպես որ մենք կարող ենք այն պահել մեր տեղական սկավառակում:
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 ամպային SDK-ի միջոցով: Այսպիսով, այժմ մենք կարող ենք կատարել մեր պահանջները կամ օգտագործելով Java կոդի հատվածը կամ օգտագործելով cURL հրամանները: Միևնույն ժամանակ, մենք մեծապես խրախուսում ենք ձեզ ուսումնասիրել Product Documentation՝ API-ի կողմից առաջարկվող այլ հետաքրքիր գործառույթների մասին ավելին իմանալու համար:
Խնդրում ենք նկատի ունենալ, որ մեր բոլոր Cloud SDK-ները մշակված են MIT լիցենզիայի ներքո, որպեսզի ամբողջական աղբյուրի կոդը հնարավոր լինի ներբեռնել GitHub-ից: Ի վերջո, եթե API-ն օգտագործելիս որևէ խնդիր հանդիպեք, կարող եք մտածել մեզ մոտենալու արագ լուծման համար անվճար ապրանքի աջակցման ֆորումի միջոցով:
Առնչվող հոդվածներ
Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.