Dapatkan dan Atur Properti Halaman
Aspose.PDF untuk C++ memungkinkan Anda membaca dan mengatur properti halaman dalam file PDF di aplikasi C++ Anda. Bagian ini menunjukkan cara mendapatkan jumlah halaman dalam file PDF, mendapatkan informasi tentang properti halaman PDF seperti warna dan mengatur properti halaman, mendapatkan halaman tertentu dari file PDF dan lain-lain.
Dapatkan Jumlah Halaman dalam File PDF
Saat bekerja dengan dokumen, Anda sering ingin mengetahui berapa banyak halaman yang mereka miliki. Dengan Aspose.PDF ini hanya membutuhkan tidak lebih dari dua baris kode.
Untuk mendapatkan jumlah halaman dalam file PDF:
- Buka file PDF menggunakan kelas Document.
- Gunakan properti Count dari koleksi PageCollection (dari objek Document) untuk mendapatkan jumlah total halaman dalam dokumen.
Cuplikan kode berikut menunjukkan cara mendapatkan jumlah halaman dari file PDF.
void GetNumberOfPages() {
// Buka dokumen
String _dataDir("C:\\Samples\\");
String srcFileName("GetNumberofPages.pdf");
auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
// Dapatkan jumlah halaman
std::cout << "Jumlah Halaman : " << srcDocument->get_Pages()->get_Count() << std::endl;
}
Dapatkan jumlah halaman tanpa menyimpan dokumen
Terkadang kita membuat file PDF secara langsung dan selama pembuatan file PDF, kita mungkin menemui kebutuhan (membuat Daftar Isi dll.) untuk mendapatkan jumlah halaman file PDF tanpa menyimpan file tersebut ke sistem atau aliran. So untuk memenuhi persyaratan ini, sebuah metode ProcessParagraphs telah diperkenalkan dalam kelas Document. Silakan lihat cuplikan kode berikut yang menunjukkan langkah-langkah untuk mendapatkan jumlah halaman tanpa menyimpan dokumen.
void GetPageCountWithoutSavingTheDocument() {
// Buat instance Document
auto document = MakeObject<Document>();
// Tambahkan halaman ke koleksi halaman file PDF
auto page = document->get_Pages()->Add();
// Buat instance loop
for (int i = 0; i < 300; i++)
// Tambahkan TextFragment ke koleksi paragraf dari objek halaman
page->get_Paragraphs()->Add(MakeObject<TextFragment>(u"Pengujian jumlah halaman"));
// Proses paragraf dalam file PDF untuk mendapatkan jumlah halaman yang akurat
document->ProcessParagraphs();
// Cetak jumlah halaman dalam dokumen
std::cout << "Jumlah halaman dalam dokumen = " << document->get_Pages()->get_Count();
}
Dapatkan Properti Halaman
Mengakses Properti Halaman
Kelas Page menyediakan semua properti terkait dengan halaman PDF tertentu. Semua halaman dari file PDF terkandung dalam koleksi PageCollection dari objek Document.
Dari situ, dimungkinkan untuk mengakses objek Page individu menggunakan indeks mereka, atau melakukan iterasi melalui koleksi, menggunakan loop foreach, untuk mendapatkan semua halaman. Setelah halaman individu diakses, kita dapat memperoleh propertinya. Potongan kode berikut menunjukkan cara mendapatkan properti halaman.
void AccessingPageProperties() {
String _dataDir("C:\\Samples\\");
String pdfDocument("GetProperties.pdf");
// Membuka dokumen
auto document = MakeObject<Document>(_dataDir + pdfDocument);
// Mendapatkan halaman tertentu
auto pdfPage = document->get_Pages()->idx_get(1);
// Mendapatkan properti halaman
Console::WriteLine(u"ArtBox : Height={0},Width={1},LLX={2},LLY={3},URX={4},URY={5}",
pdfPage->get_ArtBox()->get_Height(), pdfPage->get_ArtBox()->get_Width(),
pdfPage->get_ArtBox()->get_LLX(), pdfPage->get_ArtBox()->get_LLY(),
pdfPage->get_ArtBox()->get_URX(), pdfPage->get_ArtBox()->get_URY());
Console::WriteLine(u"->get_BleedBox() : Height={0},Width={1},LLX={2},LLY={3},URX={4},URY={5}",
pdfPage->get_BleedBox()->get_Height(), pdfPage->get_BleedBox()->get_Width(),
pdfPage->get_BleedBox()->get_LLX(), pdfPage->get_BleedBox()->get_LLY(),
pdfPage->get_BleedBox()->get_URX(), pdfPage->get_BleedBox()->get_URY());
Console::WriteLine(u"get_CropBox() : Height={0},Width={1},LLX={2},LLY={3},URX={4},URY={5}",
pdfPage->get_CropBox()->get_Height(), pdfPage->get_CropBox()->get_Width(),
pdfPage->get_CropBox()->get_LLX(), pdfPage->get_CropBox()->get_LLY(),
pdfPage->get_CropBox()->get_URX(), pdfPage->get_CropBox()->get_URY());
Console::WriteLine(u"get_MediaBox() : Height={0},Width={1},LLX={2},LLY={3},URX={4},URY={5}",
pdfPage->get_MediaBox()->get_Height(), pdfPage->get_MediaBox()->get_Width(),
pdfPage->get_MediaBox()->get_LLX(), pdfPage->get_MediaBox()->get_LLY(),
pdfPage->get_MediaBox()->get_URX(), pdfPage->get_MediaBox()->get_URY());
Console::WriteLine(u"get_TrimBox() : Height={0},Width={1},LLX={2},LLY={3},URX={4},URY={5}",
pdfPage->get_TrimBox()->get_Height(), pdfPage->get_TrimBox()->get_Width(),
pdfPage->get_TrimBox()->get_LLX(), pdfPage->get_TrimBox()->get_LLY(),
pdfPage->get_TrimBox()->get_URX(), pdfPage->get_TrimBox()->get_URY());
Console::WriteLine(u"Rect : Height={0},Width={1},LLX={2},LLY={3},URX={4},URY={5}",
pdfPage->get_Rect()->get_Height(), pdfPage->get_Rect()->get_Width(),
pdfPage->get_Rect()->get_LLX(), pdfPage->get_Rect()->get_LLY(),
pdfPage->get_Rect()->get_URX(), pdfPage->get_Rect()->get_URY());
Console::WriteLine(u"Page Number : {0}", pdfPage->get_Number());
Console::WriteLine(u"Rotate : {0}", pdfPage->get_Rotate());
}