Tambahkan Header dan Footer ke PDF

Aspose.PDF untuk C++ memungkinkan Anda menambahkan header dan footer di file PDF yang sudah ada. Anda dapat menambahkan gambar atau teks ke dokumen PDF. Juga, coba tambahkan header yang berbeda dalam satu file PDF dengan C++.

Menambahkan Teks di Header File PDF

Anda dapat menggunakan kelas TextStamp untuk menambahkan teks di header file PDF. TextStamp class menyediakan properti yang diperlukan untuk membuat stempel berbasis teks seperti ukuran font, gaya font, dan warna font, dll. Untuk menambahkan teks di header, Anda perlu membuat objek Document dan objek TextStamp menggunakan properti yang diperlukan. Setelah itu, Anda dapat memanggil metode AddStamp dari Page untuk menambahkan teks di header PDF.

Anda perlu mengatur properti TopMargin sedemikian rupa sehingga menyesuaikan teks di area header PDF Anda. Anda juga perlu mengatur HorizontalAlignment ke Center dan VerticalAlignment ke Top.

Cuplikan kode berikut menunjukkan kepada Anda bagaimana menambahkan teks di header file PDF dengan C++.

void AddingTextInHeaderOfPdfFile() {
    String _dataDir("C:\\Samples\\");
    String inputFileName("TextinHeader.pdf");
    String outputFileName("TextinHeader_out.pdf");

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

    // Create header
    auto textStamp = MakeObject<TextStamp>(u"Header Text");

    // Set properties of the stamp
    textStamp->set_TopMargin(10);
    textStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    textStamp->set_VerticalAlignment(VerticalAlignment::Top);

    // Add header on all pages
    for(auto page : document->get_Pages())
    {
        page->AddStamp(textStamp);
    }

    // Save updated document
    document->Save(_dataDir + outputFileName);
}

Anda dapat menggunakan kelas TextStamp untuk menambahkan teks di footer file PDF. Kelas TextStamp menyediakan properti yang diperlukan untuk membuat stempel berbasis teks seperti ukuran font, gaya font, dan warna font, dll. Untuk menambahkan teks di footer, Anda perlu membuat objek Document dan objek TextStamp menggunakan properti yang diperlukan. Setelah itu, Anda dapat memanggil metode AddStamp dari Page untuk menambahkan teks di footer PDF.

Cuplikan kode berikut menunjukkan cara menambahkan teks di footer file PDF dengan C++.

void AddingTextInFooterOfPdfFile() {
    String _dataDir("C:\\Samples\\");
    String inputFileName("TextinFooter.pdf");
    String outputFileName("TextinFooter_out.pdf");

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

    // Buat footer
    auto textStamp = MakeObject<TextStamp>(u"Teks Footer");

    // Atur properti stempel
    textStamp->set_BottomMargin(10);
    textStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    textStamp->set_VerticalAlignment(VerticalAlignment::Bottom);

    // Tambahkan footer di semua halaman
    for (auto page : document->get_Pages())
    {
        page->AddStamp(textStamp);
    }

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

Menambahkan Gambar di Header File PDF

Anda dapat menggunakan kelas ImageStamp untuk menambahkan gambar di header file PDF. Kelas Image Stamp menyediakan properti yang diperlukan untuk membuat stempel berbasis gambar seperti ukuran font, gaya font, dan warna font, dll. Untuk menambahkan gambar di header, Anda perlu membuat objek Document dan objek Image Stamp menggunakan properti yang diperlukan. Setelah itu, Anda dapat memanggil metode AddStamp dari Page untuk menambahkan gambar di header file PDF.

Cuplikan kode berikut menunjukkan cara menambahkan gambar di header file PDF dengan C++.

void AddingImageInHeaderOfPdfFile() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("ImageinHeader.pdf");
    String outputFileName("ImageinHeader_out.pdf");

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

    // Buat header
    auto imageStamp = MakeObject<ImageStamp>(_dataDir + u"aspose-logo.jpg");

    // Atur properti dari stempel
    imageStamp->set_TopMargin(10);
    imageStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    imageStamp->set_VerticalAlignment (VerticalAlignment::Top);

    // Tambahkan header pada semua halaman
    for(auto page : document->get_Pages())
    {
        page->AddStamp(imageStamp);
    }

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

Anda dapat menggunakan kelas Image Stamp untuk menambahkan gambar di footer file PDF. Kelas Image Stamp menyediakan properti yang diperlukan untuk membuat stempel berbasis gambar seperti ukuran font, gaya font, dan warna font, dll. Untuk menambahkan gambar di footer, Anda perlu membuat objek Document dan objek Image Stamp menggunakan properti yang diperlukan. Setelah itu, Anda dapat memanggil metode AddStamp dari Page untuk menambahkan gambar di footer PDF.

Anda perlu mengatur properti BottomMargin sedemikian rupa sehingga menyesuaikan gambar di area footer PDF Anda. Anda juga perlu mengatur HorizontalAlignment ke Center dan VerticalAlignment ke Bottom.

Cuplikan kode berikut menunjukkan kepada Anda bagaimana cara menambahkan gambar di footer file PDF dengan C++.

void AddingImageInFooterOfPdfFile() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("ImageinFooter.pdf");
    String outputFileName("ImageinFooter_out.pdf");

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

    // Create header
    auto imageStamp = MakeObject<ImageStamp>(_dataDir + u"aspose-logo.jpg");

    // Set properties of the stamp
    imageStamp->set_TopMargin(10);
    imageStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    imageStamp->set_VerticalAlignment(VerticalAlignment::Top);

    // Add header on all pages
    for (auto page : document->get_Pages())
    {
        page->AddStamp(imageStamp);
    }

    // Save updated document
    document->Save(_dataDir + outputFileName);
}

Menambahkan Header yang Berbeda dalam Satu File PDF

Kita tahu bahwa kita dapat menambahkan TextStamp di bagian Header/Footer dokumen dengan menggunakan properti TopMargin atau Bottom Margin, tetapi terkadang kita mungkin memiliki kebutuhan untuk menambahkan beberapa header/footer dalam satu dokumen PDF. Aspose.PDF untuk C++ menjelaskan cara melakukan ini.

Untuk memenuhi persyaratan ini, kita akan membuat objek TextStamp individu (jumlah objek tergantung pada jumlah Header/Footer yang diperlukan) dan akan menambahkannya ke dokumen PDF. Kita juga dapat menentukan informasi pemformatan yang berbeda untuk setiap objek cap. Dalam contoh berikut, kita telah membuat objek Document dan tiga objek TextStamp dan kemudian kita menggunakan metode AddStamp dari Page untuk menambahkan teks di bagian header dari PDF. Cuplikan kode berikut menunjukkan cara menambahkan gambar di footer dari file PDF dengan Aspose.PDF untuk C++.

void AddingDifferentHeadersInOnePDFFile()
{
    String _dataDir("C:\\Samples\\");
    String inputFileName("multiheader.pdf");
    String outputFileName("multiheader_out.pdf");

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

    // Buat tiga cap
    auto stamp1 = MakeObject<TextStamp>("Header 1");
    auto stamp2 = MakeObject<TextStamp>("Header 2");
    auto stamp3 = MakeObject<TextStamp>("Header 3");

    // Setel penempatan cap (letakkan cap di bagian atas halaman, terpusat secara horizontal)
    stamp1->set_VerticalAlignment(VerticalAlignment::Top);
    stamp1->set_HorizontalAlignment(HorizontalAlignment::Center);
    // Tentukan gaya font sebagai Bold
    stamp1->get_TextState()->set_FontStyle(FontStyles::Bold);
    // Setel informasi warna depan teks sebagai merah
    stamp1->get_TextState()->set_ForegroundColor(Color::get_Red());
    // Tentukan ukuran font sebagai 14
    stamp1->get_TextState()->set_FontSize(14);

    // Sekarang kita perlu mengatur penempatan vertikal dari objek cap kedua sebagai Atas
    stamp2->set_VerticalAlignment(VerticalAlignment::Top);
    // Setel informasi penempatan horizontal untuk cap sebagai Terpusat
    stamp2->set_HorizontalAlignment (HorizontalAlignment::Center);
    // Setel faktor zoom untuk objek cap
    stamp2->set_Zoom(10);

    // Setel pemformatan dari objek cap ketiga
    // Tentukan informasi penempatan vertikal untuk objek cap sebagai Atas
    stamp3->set_VerticalAlignment(VerticalAlignment::Top);
    // Setel informasi penempatan horizontal untuk objek cap sebagai Terpusat
    stamp3->set_HorizontalAlignment(HorizontalAlignment::Center);
    // Setel sudut rotasi untuk objek cap
    stamp3->set_RotateAngle(35);
    // Setel pink sebagai warna latar belakang untuk cap
    stamp3->get_TextState()->set_BackgroundColor(Color::get_Pink());
    // Ubah informasi wajah font untuk cap menjadi Verdana
    stamp3->get_TextState()->set_Font(FontRepository::FindFont(u"Verdana"));

    // Cap pertama ditambahkan pada halaman pertama;
    document->get_Pages()->idx_get(1)->AddStamp(stamp1);
    // Cap kedua ditambahkan pada halaman kedua;
    document->get_Pages()->idx_get(2)->AddStamp(stamp2);
    // Cap ketiga ditambahkan pada halaman ketiga.
    document->get_Pages()->idx_get(3)->AddStamp(stamp3);

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