iText - Bir Görüntüyü Ölçeklendirme
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir görüntünün nasıl ölçekleneceğini göreceğiz.
Bir Görüntüyü PDF'de Ölçeklendirme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF'ye görüntü eklemek için, görüntünün eklenmesi gereken bir nesnesini oluşturun ve bunu kullanarak ekleyin. add() yöntemi Documentsınıf. Kullanarak bir görüntüyü ölçekleyebilirsiniz.setAutoScale() yöntem.
Aşağıda, PDF belgesinde bulunan bir görüntüyü ölçekleme adımları verilmiştir.
Adım 1: Bir PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/autoScale.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek sınıfı.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyici gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Belge nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: Bir Görüntü nesnesi oluşturma
Bir görüntü nesnesi oluşturmak için her şeyden önce bir ImageData kullanarak nesne create() yöntemi ImageDataFactorysınıf. Bu yöntemin bir parametresi olarak, aşağıda gösterildiği gibi görüntünün yolunu temsil eden bir dize parametresi iletin.
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
Şimdi, somutlaştırın Image sınıfı com.itextpdf.layout.elementpaketi. Örnekleme yaparken, geçImageData nesnesi, aşağıda gösterildiği gibi yapıcısına bir parametre olarak.
// Creating an Image object
Image img = new Image(data);
5. Adım: Bir görüntüyü ölçekleme
Kullanarak bir görüntüyü ölçekleyebilirsiniz. setAutoScale() yöntem.
// Setting the position of the image to the center of the page
image.setFixedPosition(100, 250);
6. Adım: Belgeye resim ekleme
Şimdi ekleyin image önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding image to the document
document.add(img);
7. Adım: Belgeyi Kapatma
Belgeyi kullanarak kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesindeki belge boyutuna göre bir görüntünün nasıl ölçekleneceğini gösterir. Adıyla bir PDF belgesi oluştururautoScale.pdf, ona bir görüntü ekler, sayfa boyutlarına göre ölçeklendirir, yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin SettingAutoScale.java.
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class SettingAutoScale {
public static void main(String args[]) throws Exception{
// Creating a PdfWriter
String dest = "C:/itextExamples/positionOfImage.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdfDoc);
// Creating an ImageData object
String imFile = "C:/itextExamples/logo.jpg";
ImageData data = ImageDataFactory.create(imFile);
// Creating an Image object
Image image = new Image(data);
// Setting the position of the image to the center of the page
image.setFixedPosition(100,250);
// Adding image to the document
document.add(image);
// Closing the document
document.close();
System.out.println("Image Scaled");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac SettingAutoScale.java
java SettingAutoScale
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Image Scaled
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.