Gambar Meja

Deskew Image atau Deskew PDF menggunakan Java Cloud SDK

Sejumlah besar gambar raster yang kami terima untuk pekerjaan & penggunaan pribadi adalah gambar yang dipindai baik melalui pemindai digital atau mungkin gambar dari perangkat seluler. Jadi ada kemungkinan besar bahwa teks di dalam gambar tidak disejajarkan dengan benar dan berjalan melintasi margin halaman baik secara horizontal maupun vertikal. Dengan kata sederhana, gambar yang dipindai sering miring (kertas dipindahkan/diputar) pada pemindai. Sekarang untuk mengatasi masalah seperti itu, kami memilih teknik bernama deskewing yang merupakan proses di mana kemiringan dihilangkan dengan memutar gambar dengan jumlah yang sama dengan kemiringannya tetapi dalam arah yang berlawanan. Fitur Deskew sangat berguna dalam pemrosesan gambar otomatis, saat gambar berasal dari pemindai.

Sekarang di artikel ini, kami melihat detail tentang cara gambar Deskew menggunakan Java Cloud SDK. Jadi fungsi deskew bekerja dalam dua langkah yaitu mendeteksi sudut kemiringan gambar dan kemudian memutar gambar untuk memperbaiki kemiringan tersebut. Kami dapat menerapkan operasi ini pada faks yang diterima dan menggunakan informasi (teks) pada gambar, menghitung sudut rotasi, bukan margin kertas dan memenuhi persyaratan. Namun demikian, kami memahami bahwa operasi deskew gambar dapat dilakukan pada gambar berwarna 1 bit, 8 bit, dan 24 bit.

Deskew Image API

Untuk mendukung gambar Kami memiliki API berbasis REST yang menawarkan kemampuan untuk memanipulasi file gambar di Cloud. Sekarang untuk aplikasi Java, kami telah secara khusus mengembangkan Aspose.Imaging Cloud SDK for Java yang memungkinkan Anda mengimplementasikan kemampuan pemrosesan gambar melalui kode Java. Sekarang untuk gambar Deskew menggunakan Java cloud SDK, langkah pertama adalah menambahkan referensinya di proyek java dengan memasukkan informasi berikut di pom.xml (proyek tipe build 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>

Langkah selanjutnya adalah mendapatkan kredensial klien dari Cloud Dashboard dan jika Anda tidak memiliki akun melalui Aspose Cloud Dashboard, harap buat akun gratis melalui alamat email yang valid. Sekarang login menggunakan akun yang baru dibuat dan cari/buat Client ID dan Client Secret di Aspose Cloud Dashboard.

Deskew Image Online menggunakan Java

Mari jelajahi detail tentang cara membuat deskew gambar menggunakan cuplikan kode Java. Untuk contoh ini, kami memuat gambar TIFF dari drive lokal dan menerapkan operasi deskew photo. File yang dihasilkan kemudian disimpan ke penyimpanan cloud.

  • Pertama, buat objek ImagingApi berdasarkan kredensial klien yang dipersonalisasi
  • Kedua, buat variabel boolean yang menunjukkan untuk mengubah ukuran gambar secara proporsional
  • Sekarang baca konten TIFF sumber menggunakan metode readAllBytes(…) dan teruskan ke array byte[].
  • Langkah selanjutnya adalah membuat instance CreateDeskewedImageRequest yang membutuhkan array Byte, parameter opsional untuk warna latar belakang, dan nama foto deskew yang dihasilkan
  • Terakhir, panggil metode createDeskewedImage(…) ke deskew image. TIFF yang dihasilkan disimpan di penyimpanan cloud
// Dapatkan ClientID dan ClientSecret dari https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// membuat objek Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// atur variabel untuk mengubah ukuran gambar deskewed secara proporsional
boolean resizeProportionally = true;
			
// informasi warna latar belakang
String bkColor = "white";

// memuat file dari drive lokal
File f = new File("DeskewSampleImage.tiff");

// membaca konten gambar TIFF ke array byte
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// buat objek untuk menentukan properti gambar deskew
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Deskew foto dan simpan hasilnya di penyimpanan cloud
imageApi.createDeskewedImage(request);

Sekarang jika Anda ingin menyimpan TIFF yang dihasilkan di drive lokal/jaringan, silakan coba gunakan potongan kode berikut.

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

// membuat objek Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// atur variabel untuk mengubah ukuran gambar deskewed secara proporsional
boolean resizeProportionally = true;
			
// informasi warna latar belakang
String bkColor = "white";

// memuat file dari drive lokal
File f = new File("DeskewSampleImage.tif");

// membaca konten gambar TIFF ke array byte
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// buat objek untuk menentukan properti gambar deskew
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Deskew foto dan kembalikan output sebagai objek aliran
byte[] updatedImage = imageApi.createDeskewedImage(request);

// jalur untuk menyimpan gambar TIFF yang diperbarui
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// panggil API ke deskew foto dan simpan ke drive lokal
Files.write(path, updatedImage);
gambar meja

Pratinjau foto Deskew

Contoh gambar TIFF yang digunakan pada contoh di atas dapat diunduh dari DeskewSampleImage.tif.

Deskew PDF menggunakan Perintah cURL

Kami mungkin menerima file PDF yang berisi gambar yang dideskripsikan, jadi salah satu solusi cepatnya adalah mengekstrak gambar dari file PDF dan kemudian mendiskripsikan gambar tersebut. Sekarang untuk memenuhi persyaratan ini, kita akan menggunakan dua Cloud API di sini yaitu Aspose.PDF Cloud untuk mengekstrak gambar dari file PDF dan Aspose.Imaging Cloud untuk deskew foto. Namun, sebelum kami melakukan operasi apa pun, pertama-tama kami harus membuat token akses JWT (berdasarkan kredensial klien) menggunakan perintah berikut.

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"

Setelah kami memiliki token JWT, kami perlu mengekstrak gambar PDF menggunakan GrayscaleImage API dari Aspose.PDF Cloud. Gambar diekstraksi dalam format TIFF dan disimpan di penyimpanan 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>"

Sekarang gambar diekstraksi dari file PDF sebagai format TIFF, sekarang kita perlu memanggil DeskewImage API dari Aspose.Imaging Cloud ke gambar deskew. Karena file yang dihasilkan dikembalikan dalam aliran respons, jadi kami dapat menyimpannya ke drive lokal kami.

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

Kesimpulan

Saat ini, kami telah mempelajari beberapa langkah luar biasa dan sederhana untuk deskew image serta deskew PDF menggunakan Java cloud SDK. Jadi sekarang kami dapat memenuhi persyaratan kami baik menggunakan potongan kode Java atau menggunakan perintah cURL. Pada saat yang sama, kami sangat menyarankan Anda untuk menjelajahi Dokumentasi Produk untuk mempelajari lebih lanjut tentang fitur menarik lainnya yang ditawarkan oleh API.

Harap diperhatikan bahwa semua Cloud SDK kami dikembangkan di bawah lisensi MIT sehingga kode sumber lengkapnya dapat diunduh dari GitHub. Terakhir, jika Anda menemukan masalah apa pun saat menggunakan API, Anda dapat mempertimbangkan untuk menghubungi kami untuk penyelesaian cepat melalui forum dukungan produk gratis.

Artikel Terkait

Silakan kunjungi tautan berikut untuk mempelajari lebih lanjut tentang: