Memutar Teks di Dalam PDF menggunakan C++
Contents
[
Hide
]
Memutar Teks di Dalam PDF menggunakan Properti Rotasi
Dengan menggunakan properti Rotasi dari kelas TextFragment, Anda dapat memutar teks pada berbagai sudut. Rotasi teks dapat digunakan dalam berbagai skenario pembuatan dokumen. Anda dapat menetapkan sudut rotasi dalam derajat untuk memutar teks sesuai kebutuhan Anda. Silakan periksa skenario berbeda berikut, di mana Anda dapat menerapkan rotasi teks.
Menerapkan Rotasi menggunakan TextFragment dan TextBuilder
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Text;
void ImplementRotationUsingTextFragmentAndTextBuilder() {
String _dataDir("C:\\Samples\\");
// Inisialisasi objek dokumen
auto document = MakeObject<Document>();
// Dapatkan halaman tertentu
auto page = document->get_Pages()->Add();
// Buat fragmen teks
auto textFragment1 = MakeObject<TextFragment>("teks utama");
textFragment1->set_Position(MakeObject<Position>(100, 600));
// Atur properti teks
textFragment1->get_TextState()->set_FontSize(12);
textFragment1->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Buat fragmen teks yang diputar
auto textFragment2 = MakeObject<TextFragment>("teks diputar");
textFragment2->set_Position(MakeObject<Position>(200, 600));
// Atur properti teks
textFragment2->get_TextState()->set_FontSize(12);
textFragment2->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment2->get_TextState()->set_Rotation(45);
// Buat fragmen teks yang diputar
auto textFragment3 = MakeObject<TextFragment>("teks diputar");
textFragment3->set_Position(MakeObject<Position>(300, 600));
// Atur properti teks
textFragment3->get_TextState()->set_FontSize(12);
textFragment3->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment3->get_TextState()->set_Rotation(90);
// buat objek TextBuilder
auto textBuilder = MakeObject<TextBuilder>(page);
// Tambahkan fragmen teks ke halaman PDF
textBuilder->AppendText(textFragment1);
textBuilder->AppendText(textFragment2);
textBuilder->AppendText(textFragment3);
// Simpan dokumen
document->Save(_dataDir + u"TextFragmentTests_Rotated1_out.pdf");
}
Menerapkan Rotasi menggunakan TextParagraph dan TextBuilder (Fragmen yang Diputar)
void ImplementRotationUsingTextParagraphAndTextBuilder_RotatedFragments() {
String _dataDir("C:\\Samples\\");
// Inisialisasi objek dokumen
auto document = MakeObject<Document>();
// Dapatkan halaman tertentu
auto page = document->get_Pages()->Add();
auto paragraph = MakeObject<TextParagraph>();
paragraph->set_Position(MakeObject<Position>(200, 600));
// Buat fragmen teks
auto textFragment1 = MakeObject<TextFragment>("teks yang diputar");
// Tetapkan properti teks
textFragment1->get_TextState()->set_FontSize(12);
textFragment1->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Tetapkan rotasi
textFragment1->get_TextState()->set_Rotation(45);
// Buat fragmen teks
auto textFragment2 = MakeObject<TextFragment>("teks utama");
// Tetapkan properti teks
textFragment2->get_TextState()->set_FontSize(12);
textFragment2->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Buat fragmen teks
auto textFragment3 = MakeObject<TextFragment>("teks lain yang diputar");
// Tetapkan properti teks
textFragment3->get_TextState()->set_FontSize(12);
textFragment3->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Tetapkan rotasi
textFragment3->get_TextState()->set_Rotation(-45);
// Tambahkan fragmen teks ke paragraf
paragraph->AppendLine(textFragment1);
paragraph->AppendLine(textFragment2);
paragraph->AppendLine(textFragment3);
// Buat objek TextBuilder
auto textBuilder = MakeObject<TextBuilder>(page);
// Tambahkan paragraf teks ke halaman PDF
textBuilder->AppendParagraph(paragraph);
// Simpan dokumen
document->Save(_dataDir + u"TextFragmentTests_Rotated2_out.pdf");
}
Menerapkan Rotasi menggunakan TextFragment dan Page.Paragraphs
void ImplementRotationUsingTextFragmentAndPageParagraphs() {
String _dataDir("C:\\Samples\\");
// Inisialisasi objek dokumen
auto document = MakeObject<Document>();
// Dapatkan halaman tertentu
auto page = document->get_Pages()->Add();
// Buat fragmen teks
auto textFragment1 = MakeObject<TextFragment>("teks utama");
// Tetapkan properti teks
textFragment1->get_TextState()->set_FontSize(12);
textFragment1->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Buat fragmen teks
auto textFragment2 = MakeObject<TextFragment>("teks yang diputar");
// Tetapkan properti teks
textFragment2->get_TextState()->set_FontSize(12);
textFragment2->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Tetapkan rotasi
textFragment2->get_TextState()->set_Rotation(315);
// Buat fragmen teks
auto textFragment3 = MakeObject<TextFragment>("teks yang diputar");
// Tetapkan properti teks
textFragment3->get_TextState()->set_FontSize(12);
textFragment3->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
// Tetapkan rotasi
textFragment3->get_TextState()->set_Rotation(270);
page->get_Paragraphs()->Add(textFragment1);
page->get_Paragraphs()->Add(textFragment2);
page->get_Paragraphs()->Add(textFragment3);
// Simpan dokumen
document->Save(_dataDir + u"TextFragmentTests_Rotated3_out.pdf");
}
Implementasikan Rotasi menggunakan TextParagraph dan TextBuilder (Seluruh Paragraf Diputar)
void ImplementRotationUsingTextParagraphAndTextBuilder() {
String _dataDir("C:\\Samples\\");
// Inisialisasi objek dokumen
auto document = MakeObject<Document>();
// Dapatkan halaman tertentu
auto page = document->get_Pages()->Add();
for (int i = 0; i < 4; i++) {
auto paragraph = MakeObject<TextParagraph>();
paragraph->set_Position(MakeObject<Position>(200, 600));
// Tentukan rotasi
paragraph->set_Rotation(i * 90 + 45);
// Buat fragmen teks
auto textFragment1 = MakeObject<TextFragment>("Teks Paragraf");
// Buat fragmen teks
textFragment1->get_TextState()->set_FontSize(12);
textFragment1->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment1->get_TextState()->set_BackgroundColor(Color::get_LightGray());
textFragment1->get_TextState()->set_ForegroundColor(Color::get_Blue());
// Buat fragmen teks
auto textFragment2 = MakeObject<TextFragment>("Baris kedua dari teks");
// Atur properti teks
textFragment2->get_TextState()->set_FontSize(12);
textFragment2->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment2->get_TextState()->set_BackgroundColor(Color::get_LightGray());
textFragment2->get_TextState()->set_ForegroundColor(Color::get_Blue());
// Buat fragmen teks
auto textFragment3 = MakeObject<TextFragment>("Dan beberapa teks lagi...");
// Atur properti teks
textFragment3->get_TextState()->set_FontSize(12);
textFragment3->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment3->get_TextState()->set_BackgroundColor(Color::get_LightGray());
textFragment3->get_TextState()->set_ForegroundColor(Color::get_Blue());
textFragment3->get_TextState()->set_Underline(true);
paragraph->AppendLine(textFragment1);
paragraph->AppendLine(textFragment2);
paragraph->AppendLine(textFragment3);
// Buat objek TextBuilder
auto textBuilder = MakeObject<TextBuilder>(page);
// Tambahkan fragmen teks ke halaman PDF
textBuilder->AppendParagraph(paragraph);
}
// Simpan dokumen
document->Save(_dataDir + u"TextFragmentTests_Rotated4_out.pdf");
}