Imazhi i shtratit

Deskw Image ose Deskew PDF duke përdorur Java Cloud SDK

Një numër i madh i imazheve raster që marrim për punë dhe përdorim personal janë imazhe të skanuara ose përmes skanerit dixhital ose mund të jenë fotografi nga pajisja celulare. Pra, ka shanse të drejta që teksti brenda një imazhi të mos jetë i përafruar siç duhet dhe të kalojë përgjatë kufirit të faqes qoftë horizontalisht ose vertikalisht. Me fjalë të thjeshta, imazhet e skanuara shpesh anohen (letra u zhvendos/rrotullohet) në skaner. Tani për të zgjidhur çështje të tilla, ne zgjedhim një teknikë të quajtur deskewing e cila është një proces ku animi hiqet duke rrotulluar një imazh me të njëjtën sasi si animi i tij, por në drejtim të kundërt. Veçoria Deskew është jashtëzakonisht e dobishme në përpunimin e automatizuar të imazhit, kur imazhet vijnë nga një skaner.

Tani në këtë artikull, ne po shqyrtojmë detajet se si të zhveshni imazhin duke përdorur Java Cloud SDK. Pra, funksioni deskew funksionon në dy hapa dmth. zbulon këndin e animit të figurës dhe më pas e rrotullon imazhin për të korrigjuar animin. Mund ta zbatojmë këtë veprim në fakset e marra dhe duke përdorur informacionin (tekstin) në imazh, të llogarisim këndin e rrotullimit, jo kufijtë e letrës dhe të përmbushim kërkesën. Sidoqoftë, ne e kuptojmë se funksionimi i pamjes së imazhit mund të kryhet në imazhe me ngjyra 1 bit, 8 bit dhe 24 bit.

Deskew Image API

Për të mbështetur imazhin, ne kemi API të bazuar në REST që ofron aftësi për të manipuluar skedarët e imazheve në renë kompjuterike. Tani për aplikacionet Java, ne kemi zhvilluar posaçërisht Aspose.Imaging Cloud SDK for Java që ju mundëson të zbatoni aftësitë e përpunimit të imazhit nëpërmjet kodit Java. Tani, në mënyrë që të zhveshni imazhet duke përdorur Java cloud SDK, hapi i parë është të shtoni referencën e saj në projektin java duke përfshirë informacionin e mëposhtëm në pom.xml (projekt i tipit të ndërtimit 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>

Hapi tjetër është të merrni kredencialet e klientit nga Cloud Dashboard dhe nëse nuk keni një llogari mbi Aspose Cloud Dashboard, ju lutemi krijoni një llogari falas përmes adresës së vlefshme të emailit. Tani identifikohuni duke përdorur llogarinë e krijuar rishtazi dhe kërkoni/krijoni ID-në e klientit dhe sekretin e klientit në Panelin e Aspose Cloud.

Deskew Image Online duke përdorur Java

Le të shqyrtojmë detajet se si të zhveshni imazhin duke përdorur fragmentin e kodit Java. Për këtë shembull, ne po ngarkojmë imazhin TIFF nga disku lokal dhe po zbatojmë funksionimin e fotografisë së deskew. Skedari që rezulton më pas ruhet në ruajtjen e resë kompjuterike.

  • Së pari, krijoni një objekt të ImagingApi bazuar në kredencialet e personalizuara të klientit
  • Së dyti, krijoni një variabël boolean që tregon për të ndryshuar madhësinë e imazhit në mënyrë proporcionale
  • Tani lexoni përmbajtjen e burimit TIFF duke përdorur metodën readAllBytes(…) dhe kaloni në grupin bajt[]
  • Hapi tjetër është krijimi i një shembulli të CreateDeskewedImageRequest i cili kërkon grup Byte, parametër opsional për ngjyrën e sfondit dhe emrin e fotos rezultante të deskew
  • Së fundi, thirrni metodën createDeskewedImage(…) për të deskew image. TIFF që rezulton ruhet në ruajtjen e resë kompjuterike
// Merrni ClientID dhe ClientSecret nga https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// krijoni një objekt imazherie
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// vendos variabël për të ndryshuar përmasat e imazhit të shtrembëruar në mënyrë proporcionale
boolean resizeProportionally = true;
			
// informacion për ngjyrën e sfondit
String bkColor = "white";

// ngarkoni skedarin nga disku lokal
File f = new File("DeskewSampleImage.tiff");

// lexoni përmbajtjen e grupit të imazhit TIFF në bajt
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// krijoni një objekt për të përcaktuar veçoritë e imazhit të tavolinës
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Deskoni foton dhe ruani daljen në ruajtjen e resë kompjuterike
imageApi.createDeskewedImage(request);

Tani nëse dëshironi të ruani TIFF-në rezultante në diskun lokal/rrjetor, atëherë ju lutemi provoni të përdorni copën e mëposhtme të kodit.

// Merrni ClientID dhe ClientSecret nga https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// krijoni një objekt imazherie
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// vendosni variablin për të ndryshuar përmasat e imazhit të shtrembëruar në mënyrë proporcionale
boolean resizeProportionally = true;
			
// informacion për ngjyrën e sfondit
String bkColor = "white";

// ngarkoni skedarin nga disku lokal
File f = new File("DeskewSampleImage.tif");

// lexoni përmbajtjen e grupit të imazhit TIFF në bajt
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// krijoni një objekt për të përcaktuar veçoritë e imazhit të tavolinës
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Deskoni foton dhe kthejeni daljen si objekt transmetimi
byte[] updatedImage = imageApi.createDeskewedImage(request);

// shteg për të ruajtur imazhin TIFF të përditësuar
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// telefononi API-në për të zbërthyer foton dhe ruani në diskun lokal
Files.write(path, updatedImage);
imazhi i tavolinës

Pamja paraprake e fotografisë së shtratit

Shembulli i imazhit TIFF i përdorur në shembullin e mësipërm mund të shkarkohet nga DeskewSampleImage.tif.

Deskoni PDF duke përdorur komandat cURL

Ne mund të marrim një skedar PDF që përmban imazhe të shtrembëruara, kështu që një zgjidhje e shpejtë është nxjerrja e imazheve nga skedari PDF dhe më pas shtrydhja e imazheve. Tani për të përmbushur këtë kërkesë, ne do të përdorim dy API të resë kompjuterike këtu, p.sh. Aspose.PDF Cloud për të nxjerrë imazhe nga skedari PDF dhe Aspose.Imaging Cloud për të zbutur fotot. Sidoqoftë, përpara se të kryejmë ndonjë operacion, së pari duhet të gjenerojmë një shenjë hyrjeje JWT (bazuar në kredencialet e klientit) duke përdorur komandën e mëposhtme.

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"

Pasi të kemi tokenin JWT, duhet të nxjerrim imazhe PDF duke përdorur GrayscaleImage API të Aspose.PDF Cloud. Imazhet nxirren në formatin TIFF dhe ruhen në ruajtjen e cloud.

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>"

Tani që imazhet janë nxjerrë nga skedari PDF si format TIFF, tani duhet të thërrasim DeskewImage API të Aspose.Imaging Cloud për të deskewuar imazhin. Meqenëse skedari rezultues kthehet në rrjedhën e përgjigjes, kështu që ne mund ta ruajmë atë në diskun tonë lokal.

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

konkluzioni

Deri në këtë kohë, ne kemi mësuar disa hapa të mrekullueshëm dhe të thjeshtë për të zbërthyer imazhin, si dhe për të zbërthyer PDF-në duke përdorur Java cloud SDK. Pra, tani ne mund t’i përmbushim kërkesat tona ose duke përdorur fragmentin e kodit Java ose duke përdorur komandat cURL. Në të njëjtën kohë, ju inkurajojmë shumë të eksploroni Product Documentation për të mësuar më shumë rreth veçorive të tjera emocionuese të ofruara nga API.

Ju lutemi vini re se të gjitha Cloud SDK-të tona janë zhvilluar nën licencën MIT, kështu që kodi i plotë burimor mund të shkarkohet nga GitHub. Së fundi, në rast se hasni ndonjë problem gjatë përdorimit të API-së, mund të konsideroni të na kontaktoni për një zgjidhje të shpejtë nëpërmjet forumit të mbështetjes së produktit falas.

Artikuj të ngjashëm

Ju lutemi vizitoni lidhjet e mëposhtme për të mësuar më shumë rreth: