Tambahkan Stempel Teks di PDF secara Programatis
Tambahkan Stempel Teks dengan Java
Aspose.PDF untuk Java menyediakan kelas TextStamp untuk menambahkan stempel teks dalam file PDF. The TextStamp class menyediakan metode yang diperlukan untuk menentukan ukuran font, gaya font, dan warna font dll untuk objek cap. Untuk menambahkan cap teks, pertama-tama Anda perlu membuat objek Document dan objek TextStamp menggunakan metode yang diperlukan. Setelah itu, Anda dapat memanggil metode addStamp(..) dari kelas Page untuk menambahkan cap ke dalam dokumen PDF.
Cuplikan kode berikut menunjukkan cara menambahkan cap teks ke dalam file PDF.
package com.aspose.pdf.examples;
import com.aspose.pdf.*;
import com.aspose.pdf.facades.*;
import com.aspose.pdf.facades.Stamp;
public class ExampleStampingImage {
// Jalur ke direktori dokumen.
private static String _dataDir = "/home/admin1/pdf-examples/Samples/";
public static void AddTextStamp() {
// buka dokumen
Document pdfDocument = new Document("input.pdf");
// buat cap teks
TextStamp textStamp = new TextStamp("Sample Stamp");
// atur apakah cap adalah latar belakang
textStamp.setBackground(true);
// atur asal
textStamp.setXIndent(100);
textStamp.setYIndent(100);
// putar cap
textStamp.setRotate(Rotation.on90);
// atur properti teks
textStamp.getTextState().setFont(FontRepository.findFont("Arial"));
textStamp.getTextState().setFontSize(14.0F);
textStamp.getTextState().setFontStyle(FontStyles.Bold);
textStamp.getTextState().setFontStyle(FontStyles.Italic);
textStamp.getTextState().setForegroundColor(Color.getGreen());
// tambahkan cap ke halaman tertentu
pdfDocument.getPages().get_Item(1).addStamp(textStamp);
// simpan dokumen keluaran
pdfDocument.save("TextStamp_output.pdf");
}
Menentukan perataan untuk objek TextStamp
Menambahkan watermark ke dokumen PDF adalah salah satu fitur yang sering diminta dan Aspose.PDF untuk Java sepenuhnya mampu menambahkan watermark Gambar serta Teks. Kelas TextStamp menyediakan fitur untuk menambahkan stempel teks pada file PDF. Baru-baru ini ada permintaan untuk mendukung fitur menentukan perataan teks saat menggunakan objek TextStamp. Jadi untuk memenuhi kebutuhan ini, kami telah memperkenalkan metode setTextAlignment(..) dalam kelas TextStamp. Dengan menggunakan metode ini, Anda dapat menentukan perataan teks horizontal.
Cuplikan kode berikut menunjukkan contoh tentang cara memuat dokumen PDF yang sudah ada dan menambahkan TextStamp di atasnya.
public static void DefineAlignmentTextStamp() {
// Membuat objek Dokumen dengan file input
Document pdfDocument = new Document("input.pdf");
// Membuat objek FormattedText dengan string contoh
FormattedText text = new FormattedText("This");
// menambahkan baris teks baru ke FormattedText
text.addNewLineText("is sample");
text.addNewLineText("Center Aligned");
text.addNewLineText("TextStamp");
text.addNewLineText("Object");
// membuat objek TextStamp menggunakan FormattedText
TextStamp stamp = new TextStamp(text);
// menentukan Perataan Horizontal teks stempel sebagai rata tengah
stamp.setHorizontalAlignment(HorizontalAlignment.Center);
// menentukan Perataan Vertikal teks stempel sebagai rata tengah
stamp.setVerticalAlignment(VerticalAlignment.Center);
// menentukan Perataan Teks Horizontal dari TextStamp sebagai rata tengah
stamp.setTextAlignment(HorizontalAlignment.Center);
// menetapkan margin atas untuk objek stempel
stamp.setTopMargin(20);
// menambahkan stempel ke semua halaman file PDF
pdfDocument.getPages().get_Item(1).addStamp(stamp);
// menyimpan dokumen keluaran
pdfDocument.save("TextStamp_output.pdf");
}
Isi Teks Stroke sebagai Stempel dalam File PDF
Kami telah mengimplementasikan pengaturan mode rendering untuk skenario penambahan dan pengeditan teks. Untuk merender teks stroke, silakan buat objek TextState dan atur RenderingMode ke TextRenderingMode.StrokeText dan juga pilih warna untuk properti StrokingColor. Kemudian, ikat TextState ke stempel menggunakan metode BindTextState().
Cuplikan kode berikut menunjukkan penambahan Isi Teks Stroke:
public static void FillStrokeTextAsStampInPDFFile(){
// Buat objek TextState untuk mentransfer properti lanjutan
TextState ts = new TextState();
// Atur warna untuk stroke
ts.setStrokingColor(Color.getGray());
// Atur mode rendering teks
ts.setRenderingMode (TextRenderingMode.StrokeText);
// Muat dokumen PDF masukan
PdfFileStamp fileStamp = new PdfFileStamp(new Document(_dataDir + "input.pdf"));
Stamp stamp = new Stamp();
stamp.bindLogo(new FormattedText("PAID IN FULL", java.awt.Color.GRAY, "Arial", EncodingType.Winansi, true, 78));
// Ikat TextState
stamp.bindTextState(ts);
// Atur asal X,Y
stamp.setOrigin(100, 100);
stamp.setOpacity (5);
stamp.setBlendingSpace (BlendingColorSpace.DeviceRGB);
stamp.setRotation (45.0F);
stamp.setBackground(false);
// Tambahkan Stempel
fileStamp.addStamp(stamp);
fileStamp.save(_dataDir + "ouput_out.pdf");
fileStamp.close();
}