Tambahkan Cap Teks dalam File PDF

Tambahkan Cap Teks dengan C++

Anda dapat menggunakan kelas TextStamp untuk menambahkan cap teks dalam file PDF. Kelas TextStamp menyediakan properti yang diperlukan untuk membuat cap berbasis teks seperti ukuran font, gaya font, dan warna font, dll. Untuk menambahkan cap teks, Anda perlu membuat objek Dokumen dan objek TextStamp menggunakan properti yang diperlukan. Setelah itu, Anda dapat memanggil metode AddStamp dari Page untuk menambahkan cap dalam PDF. Cuplikan kode berikut menunjukkan cara menambahkan cap teks dalam file PDF.

void AddTextStampToPDFFile() {

    String _dataDir("C:\\Samples\\");

    // String untuk nama file input
    String inputFileName("AddTextStamp.pdf");
    String outputFileName("AddTextStamp_out.pdf");

    // Buka dokumen
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Buat cap teks
    auto textStamp =MakeObject<TextStamp>(u"Sample Stamp");

    // Atur apakah cap adalah latar belakang
    textStamp->set_Background(true);
    // Atur asal
    textStamp->set_XIndent(100);
    textStamp->set_YIndent(100);
    // Putar cap
    textStamp->set_Rotate(Rotation::on90);

    // Atur properti teks
    textStamp->get_TextState()->set_Font(FontRepository::FindFont(u"Arial"));
    textStamp->get_TextState()->set_FontSize(14.0F);
    textStamp->get_TextState()->set_FontStyle(FontStyles::Bold);
    textStamp->get_TextState()->set_FontStyle(FontStyles::Italic);
    textStamp->get_TextState()->set_ForegroundColor(Color::get_Green());
    // Tambahkan cap ke halaman tertentu
    document->get_Pages()->idx_get(1)->AddStamp(textStamp);

    // Simpan dokumen output
    document->Save(_dataDir + outputFileName);
}

Mendefinisikan penyelarasan untuk objek TextStamp

Menambahkan watermark ke dokumen PDF adalah salah satu fitur yang sering diminta dan Aspose.PDF untuk C++ sepenuhnya mampu menambahkan watermark Gambar serta Teks. Kami memiliki kelas bernama TextStamp yang menyediakan fitur untuk menambahkan cap teks pada file PDF. Baru-baru ini ada kebutuhan untuk mendukung fitur untuk menentukan penyelarasan teks saat menggunakan objek TextStamp. Jadi untuk memenuhi kebutuhan ini, kami telah memperkenalkan properti TextAlignment dalam kelas TextStamp. Dengan menggunakan properti ini, kita dapat menentukan penyelarasan teks Horizontal.

Cuplikan kode berikut menunjukkan contoh tentang cara memuat dokumen PDF yang sudah ada dan menambahkan TextStamp di atasnya.

void DefineAlignmentTextStamp() {

    String _dataDir("C:\\Samples\\");

    // String untuk nama file input
    String inputFileName("AddTextStamp.pdf");
    String outputFileName("AddTextStamp_out.pdf");

    // Buka dokumen
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // instansiasi objek FormattedText dengan string contoh
    auto text = MakeObject<Aspose::Pdf::Facades::FormattedText>("This");

    // tambahkan baris teks baru ke FormattedText
    text->AddNewLineText(u"is sample");
    text->AddNewLineText(u"Center Aligned");
    text->AddNewLineText(u"TextStamp");
    text->AddNewLineText(u"Object");

    // buat objek TextStamp menggunakan FormattedText
    auto stamp = MakeObject<TextStamp>(text);
    // tentukan Penyelarasan Horizontal dari cap teks sebagai selaras Tengah
    stamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    // tentukan Penyelarasan Vertikal dari cap teks sebagai selaras Tengah
    stamp->set_VerticalAlignment(VerticalAlignment::Center);
    // tentukan Penyelarasan Teks Horizontal dari TextStamp sebagai selaras Tengah
    stamp->set_TextAlignment(HorizontalAlignment::Center);
    // atur margin atas untuk objek cap
    stamp->set_TopMargin(20);
    // tambahkan cap ke semua halaman file PDF
    document->get_Pages()->idx_get(1)->AddStamp(stamp);

    // simpan dokumen output
    document->Save(_dataDir + outputFileName);
}

Mengisi Teks Stroke sebagai Cap 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 cap menggunakan metode BindTextState().

Cuplikan kode berikut menunjukkan penambahan Teks Stroke Isi:

void FillStrokeTextAsStampInPDFFile() {

    String _dataDir("C:\\Samples\\");

    // String untuk nama file input
    String inputFileName("AddTextStamp.pdf");
    String outputFileName("AddTextStamp_out.pdf");

    // Buat objek TextState untuk mentransfer properti lanjutan
    auto ts = MakeObject<TextState>();

    // Atur warna untuk stroke
    ts->set_StrokingColor(Color::get_Gray());

    // Atur mode rendering teks
    ts->set_RenderingMode(TextRenderingMode::StrokeText);

    // Muat dokumen PDF input
    auto fileStamp = MakeObject<Aspose::Pdf::Facades::PdfFileStamp>(MakeObject<Document>(_dataDir + inputFileName));

    auto stamp = MakeObject<Aspose::Pdf::Facades::Stamp>();

    auto formattedText = MakeObject<Aspose::Pdf::Facades::FormattedText>(u"PAID IN FULL", Color::get_Gray(), Aspose::Pdf::Facades::EncodingType::Winansi, true, 78);
    stamp->BindLogo(formattedText);

    // Ikat TextState
    stamp->BindTextState(ts);

    // Atur asal X, Y
    stamp->SetOrigin(100, 100);
    stamp->set_Opacity(5);
    stamp->set_BlendingSpace(Aspose::Pdf::Facades::BlendingColorSpace::DeviceRGB);
    stamp->set_Rotation(45.0F);
    stamp->set_IsBackground(false);

    // Tambahkan Cap
    fileStamp->AddStamp(stamp);
    fileStamp->Save(_dataDir + outputFileName);
    fileStamp->Close();
}