Vyrovnať obrázok

Vyrovnať obrázok alebo Vyrovnať PDF pomocou Java Cloud SDK

Veľké množstvo rastrových obrázkov, ktoré dostávame na pracovné a osobné použitie, sú naskenované obrázky buď digitálnym skenerom, alebo môžu byť obrázkom z mobilného zariadenia. Existuje teda veľká šanca, že text vo vnútri obrázka nie je správne zarovnaný a prechádza cez okraj stránky vodorovne alebo zvisle. Jednoducho povedané, naskenované obrázky sú na skeneri často zošikmené (papier sa posunul/otočil). Teraz, aby sme tieto problémy vyriešili, sme sa rozhodli pre techniku nazvanú zošikmenie, čo je proces, pri ktorom sa zošikmenie odstráni otočením obrázka o rovnakú hodnotu, ako je jeho zošikmenie, ale v opačnom smere. Funkcia Deskew je mimoriadne užitočná pri automatizovanom spracovaní obrázkov, keď obrázky pochádzajú zo skenera.

Teraz v tomto článku skúmame podrobnosti o tom, ako odstrániť zošikmenie obrazu pomocou Java Cloud SDK. Funkcia zošikmenia teda funguje v dvoch krokoch, tj zisťuje uhol zošikmenia obrazu a potom otáča obraz, aby sa zošikmenie upravilo. Túto operáciu môžeme aplikovať na prijaté faxy a pomocou informácií (textu) na obrázku vypočítať uhol natočenia, nie okraje papiera a splniť požiadavku. Chápeme však, že operáciu vyrovnania obrazu možno vykonať na 1-bitových, 8-bitových a 24-bitových farebných obrázkoch.

Vyrovnať obrázok API

Na podporu obrázkov máme rozhranie API založené na REST, ktoré ponúka možnosti manipulácie so súbormi obrázkov v cloude. Teraz sme pre Java aplikácie špeciálne vyvinuli Aspose.Imaging Cloud SDK for Java, ktorý vám umožňuje implementovať možnosti spracovania obrazu prostredníctvom kódu Java. Teraz, aby sme odstránili zošikmenie obrázkov pomocou Java cloud SDK, prvým krokom je pridať jeho referenciu do java projektu zahrnutím nasledujúcich informácií do pom.xml (projekt typu zostavy maven).

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

Ďalším krokom je získanie prihlasovacích údajov klienta z Cloud Dashboard a ak nemáte účet cez Aspose Cloud Dashboard, vytvorte si bezplatný účet prostredníctvom platnej e-mailovej adresy. Teraz sa prihláste pomocou novo vytvoreného účtu a vyhľadajte/vytvorte ID klienta a tajný kľúč klienta na paneli Aspose Cloud Dashboard.

Deskew Image Online pomocou Java

Poďme preskúmať podrobnosti o tom, ako upraviť obrázok pomocou útržku kódu Java. V tomto príklade načítavame obrázok TIFF z lokálneho disku a aplikujeme operáciu vyrovnania fotografií. Výsledný súbor sa potom uloží do cloudového úložiska.

  • Najprv vytvorte objekt ImagingApi na základe personalizovaných prihlasovacích údajov klienta
  • Po druhé, vytvorte boolovskú premennú, ktorá indikuje proporcionálnu zmenu veľkosti obrázka
  • Teraz si prečítajte obsah zdrojového TIFF pomocou metódy readAllBytes(…) a prejdite do poľa byte[]
  • Ďalším krokom je vytvorenie inštancie CreateDeskewedImageRequest, ktorá vyžaduje pole Byte, voliteľný parameter pre farbu pozadia a názov výslednej fotografie deskew
  • Nakoniec zavolajte metódu createDeskewedImage(…) na vyrovnanie obrazu. Výsledný TIFF je uložený v cloudovom úložisku
// Získajte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// vytvoriť Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// nastaviť premennú na proporcionálnu zmenu veľkosti zošikmeného obrázka
boolean resizeProportionally = true;
			
// informácie o farbe pozadia
String bkColor = "white";

// načítať súbor z lokálneho disku
File f = new File("DeskewSampleImage.tiff");

// prečítať obsah obrázka TIFF do poľa bajtov
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// vytvorte objekt na definovanie vlastností zošikmenia obrazu
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Vyrovnajte fotografiu a uložte výstup do cloudového úložiska
imageApi.createDeskewedImage(request);

Ak chcete uložiť výsledný TIFF na lokálny/sieťový disk, skúste použiť nasledujúci útržok kódu.

// Získajte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// vytvoriť Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// nastaviť premennú na proporcionálnu zmenu veľkosti zošikmeného obrázka
boolean resizeProportionally = true;
			
// informácie o farbe pozadia
String bkColor = "white";

// načítať súbor z lokálneho disku
File f = new File("DeskewSampleImage.tif");

// prečítať obsah obrázka TIFF do poľa bajtov
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// vytvorte objekt na definovanie vlastností zošikmenia obrazu
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Vyrovnať fotografiu a vrátiť výstup ako objekt streamu
byte[] updatedImage = imageApi.createDeskewedImage(request);

// cesta na uloženie aktualizovaného obrázka TIFF
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// zavolajte API na vyrovnanie fotografie a uložte ju na lokálny disk
Files.write(path, updatedImage);
deskew obrázok

Vyrovnať náhľad fotografie

Vzorový obrázok TIFF použitý vo vyššie uvedenom príklade si môžete stiahnuť z DeskewSampleImage.tif.

Vyrovnajte PDF pomocou príkazov cURL

Môžeme dostať súbor PDF obsahujúci zošikmené obrázky, takže jedným rýchlym riešením je extrahovať obrázky zo súboru PDF a potom obrázky vyrovnať. Teraz, aby sme splnili túto požiadavku, použijeme dve Cloud API, tj Aspose.PDF Cloud na extrahovanie obrázkov zo súboru PDF a Aspose.Imaging Cloud na vyrovnanie fotografií. Pred vykonaním akejkoľvek operácie však musíme najprv vygenerovať prístupový token JWT (na základe poverení klienta) pomocou nasledujúceho príkazu.

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"

Keď máme token JWT, musíme extrahovať obrázky PDF pomocou GrayscaleImage API z Aspose.PDF Cloud. Obrázky sú extrahované vo formáte TIFF a sú uložené v cloudovom úložisku.

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

Teraz, keď sú obrázky extrahované zo súboru PDF vo formáte TIFF, teraz musíme zavolať DeskewImage API z Aspose.Imaging Cloud na vyrovnanie obrázka. Keďže výsledný súbor sa vracia v streame odpovedí, môžeme ho uložiť na náš lokálny disk.

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

Záver

Do tejto doby sme sa naučili niekoľko úžasných a jednoduchých krokov na vyrovnanie obrázkov, ako aj na vyrovnanie PDF pomocou Java cloud SDK. Takže teraz môžeme splniť naše požiadavky buď pomocou útržku kódu Java alebo pomocou príkazov cURL. Zároveň vám dôrazne odporúčame, aby ste si prezreli dokumentáciu k produktu, aby ste sa dozvedeli viac o ďalších zaujímavých funkciách, ktoré ponúka rozhranie API.

Upozorňujeme, že všetky naše cloudové súpravy SDK sú vyvinuté pod licenciou MIT, takže úplný zdrojový kód je možné stiahnuť z GitHub. Nakoniec, v prípade, že pri používaní rozhrania API narazíte na nejaké problémy, môžete zvážiť, či nás požiadate o rýchle riešenie prostredníctvom bezplatného fóra podpory produktov.

Súvisiace články

Ak chcete získať viac informácií, navštívte nasledujúce odkazy: