
Aspose.Words, MS Word belgelerini program aracılığıyla oluşturmanıza, düzenlemenize ve dönüştürmenize olanak tanıyan, zengin özelliklere sahip bir API koleksiyonudur. Kelime işlem belgelerini işlemek için çok çeşitli temel ve gelişmiş özellikler sağlar. Bu makalede, Aspose.Words for C++ kullanmayı ve C++ kullanarak sıfırdan MS Word belgeleri oluşturmayı öğreneceksiniz. Adım adım kılavuz ve kod örnekleri, Word belgelerine metin, resim, tablo, liste ve diğer öğeleri nasıl ekleyeceğinizi bilmenizi sağlayacaktır.
- C++ Kelime İşlem API’sı
- C++ kullanarak MS Word Belgeleri oluşturun
- C++ kullanarak Mevcut MS Word DOC/DOCX’i Düzenleyin veya Güncelleyin
- C++ kullanarak Word Belgelerine Görüntü Ekleme
- C++ kullanarak Word Belgelerine Tablo Ekleme
- C++ kullanarak Word Belgelerine Liste Ekleme
MS Word Belgeleri Oluşturmak için C++ API
Aspose.Words for C++, MS Word olmadan C++ uygulamalarında kelime işlem belgeleri oluşturmanıza ve değiştirmenize olanak tanır. Aşağıdaki komutla NuGet kullanarak API’yi indirebilir veya C++ uygulamalarınıza yükleyebilirsiniz.
PM> Install-Package Aspose.Words.Cpp
C++ kullanarak MS Word Belgeleri oluşturun
Önce basit bir Word belgesi oluşturalım ve bunu .doc veya .docx dosyası olarak kaydedelim. Bunun için aşağıdaki adımları izlemeniz gerekmektedir:
- Document sınıfını kullanarak boş bir Word belgesi oluşturun.
- Belgeye içerik eklemek için DocumentBuilder sınıfından bir nesne oluşturun.
- DocumentBuilder->Writeln() yöntemini kullanarak metin ekleyin.
- Belge->Kaydet() yöntemini kullanarak belgeyi .doc veya .docx dosyası olarak kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir Word DOCX belgesinin nasıl oluşturulacağını gösterir.
// Bir Belge Başlatın.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
// Belgeye içerik eklemek için bir belge oluşturucu kullanın.
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Yazı ekle
builder->Writeln(u"Hello World!");
// Belgeyi diske kaydedin.
doc->Save(u"document.docx");
C++ kullanarak Mevcut Word DOC/DOCX’i Düzenleyin veya Güncelleyin
Aspose.Words for C++ kullanarak mevcut Word belgelerini de düzenleyebilirsiniz. Bunun için API, bir belgenin bellek içi temsili için Belge Nesne Modeli’ni (DOM) kullanır. DOM, bir Word belgesinin üstbilgi/altbilgi, paragraflar, tablolar vb. öğelerine erişmenizi sağlar. DOM hakkında daha fazla bilgiyi buradan okuyun.
Bir Word belgesini güncellemek için Document sınıfını kullanarak yüklemeniz ve istediğiniz gibi işlemeniz yeterlidir. Mevcut bir Word belgesini düzenlemek ve güncellemek için gereken adımlar aşağıdadır.
- Belge sınıfını kullanarak Word belgesini yükleyin.
- İçeriğe erişmek için DocumentBuilder sınıfından bir nesne oluşturun.
- İstediğiniz paragrafa (veya başka bir öğeye) erişin ve içeriği güncelleyin.
- Güncellenen belgeyi Belge->Kaydet() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir Word belgesindeki bir paragrafın metninin nasıl güncelleneceğini gösterir.
// Bir Belge Başlatın.
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"document.docx");
// Belgeye içerik eklemek için bir belge oluşturucu kullanın.
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Bölümü al
auto section = doc->get_Sections()->idx_get(0);
// Vücut al
auto body = section->get_Body();
// İlk paragrafı al
auto para = body->get_FirstParagraph();
// Metni güncelle
auto run = para->get_Runs()->idx_get(0);
run->set_Text(u"This is the updated text.");
// Belgeyi diske kaydedin.
doc->Save(u"updated_document.docx");
C++ kullanarak Word Belgesine Görüntü Ekleme
Aşağıda, C++ kullanarak MS Word belgelerine resim ekleme adımları yer almaktadır.
- Belge sınıfını kullanarak yeni bir Word belgesi oluşturun veya mevcut bir belgeyi yükleyin.
- Bir DocumentBuilder nesnesi oluşturun ve onu Document nesnesiyle başlatın.
- [DocumentBuilder->InsertImage(String dosyaAdı, RelativeHorizontalPosition horzPos, çift sol, RelativeVerticalPosition vertPos, çift üst, çift genişlik, çift yükseklik, WrapType wrapType)] yöntemini kullanarak resim ekleyin.
- Belgeyi bir Word dosyası olarak kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir Word belgesine nasıl resim ekleneceğini gösterir.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Sayfanın sol üst köşesine bir logo ekleyin. Resim, diğer tüm metnin önüne yerleştirilir.
System::SharedPtr<Shape> shape = builder->InsertImage( u"Aspose Logo.png", RelativeHorizontalPosition::Page, 60.0, RelativeVerticalPosition::Page, 60.0, -1.0, -1.0, WrapType::None);
doc->Save(u"document_with_image.docx");
C++ kullanarak Word Belgelerine Tablo Ekleme
Tablo, verileri satırlar ve sütunlar şeklinde tutmak için Word belgelerinin önemli bir öğesidir. Word belgeleri içerisinde tablo oluşturmak için aşağıdaki adımları takip ediniz.
- Document sınıfını kullanarak yeni bir Word belgesi oluşturun.
- Table sınıfından bir nesne oluşturun.
- Document->getFirstSection()->getBody()->AppendChild() yöntemini kullanarak belgeye tablo ekleyin.
- Row sınıfını kullanarak yeni bir satır oluşturun.
- Table->AppendChild(row) yöntemini kullanarak tabloya satır ekleyin.
- Cell oluşturun ve Cell->getFirstParagraph()->AppendChild() yöntemini kullanarak içine metin ekleyin.
- Row->AppendChild() yöntemini kullanarak satıra hücre ekleyin.
- Birden çok satır eklemek için işlemi tekrarlayın.
- Belge->Kaydet() yöntemini kullanarak belgeyi kaydedin.
Aşağıdaki kod örneği, C++ kullanarak Word belgesine nasıl tablo ekleneceğini gösterir.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<Table> table = System::MakeObject<Table>(doc);
// Tabloyu belgeye ekleyin.
doc->get_FirstSection()->get_Body()->AppendChild(table);
System::SharedPtr<Row> row = System::MakeObject<Row>(doc);
row->get_RowFormat()->set_AllowBreakAcrossPages(true);
table->AppendChild(row);
// Artık herhangi bir otomatik sığdırma ayarını uygulayabiliriz.
table->AutoFit(AutoFitBehavior::FixedColumnWidths);
// Bir hücre oluşturun ve satıra ekleyin
System::SharedPtr<Cell> cell = System::MakeObject<Cell>(doc);
cell->get_CellFormat()->get_Shading()->set_BackgroundPatternColor(System::Drawing::Color::get_LightBlue());
cell->get_CellFormat()->set_Width(80);
// Hücreye bir paragrafın yanı sıra bazı metinlerle yeni bir çalışma ekleyin.
cell->AppendChild(System::MakeObject<Paragraph>(doc));
cell->get_FirstParagraph()->AppendChild(System::MakeObject<Run>(doc, u"Row 1, Cell 1 Text"));
// Hücreyi satıra ekleyin.
row->AppendChild(cell);
// Daha sonra tablodaki diğer hücreler ve satırlar için işlemi tekrar ederdik.
// Mevcut hücreleri ve satırları klonlayarak da işleri hızlandırabiliriz.
row->AppendChild((System::StaticCast<Node>(cell))->Clone(false));
row->get_LastCell()->AppendChild(System::MakeObject<Paragraph>(doc));
row->get_LastCell()->get_FirstParagraph()->AppendChild(System::MakeObject<Run>(doc, u"Row 1, Cell 2 Text"));
// Belgeyi diske kaydedin.
doc->Save(u"document_with_table.docx");
C++ kullanarak Word Belgelerine Liste Ekleme
Son olarak, Word belgelerinde bir liste oluşturmak. Madde imli liste oluşturma adımları aşağıdadır.
- Belge sınıfını kullanarak yeni bir Word belgesi oluşturun veya mevcut bir belgeyi yükleyin.
- Yeni bir DocumentBuilder nesnesi tanımlayın ve onu Document nesnesiyle başlatın.
- DocumentBuilder->getListFormat()->setList(Document->getLists()->Add(ListTemplate::NumberArabicDot)) yöntemini kullanarak liste oluşturun.
- Listeyi doldurun ve liste düzeyini ayarlayın.
- Belgeyi bir dosya olarak kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir Word belgesinde liste oluşturmayı gösterir.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Microsoft Word liste şablonlarından birine dayalı olarak numaralandırılmış bir liste oluşturun ve
// belge oluşturucudaki geçerli paragrafa uygulayın.
builder->get_ListFormat()->set_List(doc->get_Lists()->Add(ListTemplate::NumberArabicDot));
// Bu listede 9 seviye var, hepsini deneyelim.
for (int32_t i = 0; i < 9; i++)
{
builder->get_ListFormat()->set_ListLevelNumber(i);
builder->Writeln(System::String(u"Level ") + i);
}
// Microsoft Word liste şablonlarından birini temel alan madde işaretli bir liste oluşturun
// and belge oluşturucudaki geçerli paragrafa uygulayın.
builder->get_ListFormat()->set_List(doc->get_Lists()->Add(ListTemplate::BulletDiamonds));
// Bu listede 9 seviye var, hepsini deneyelim.
for (int32_t i = 0; i < 9; i++)
{
builder->get_ListFormat()->set_ListLevelNumber(i);
builder->Writeln(System::String(u"Level ") + i);
}
// Bu, liste biçimlendirmesini durdurmanın bir yoludur.
builder->get_ListFormat()->set_List(nullptr);
// Belgeyi diske kaydedin.
builder->get_Document()->Save(u"document_with_list.docx");
Çözüm
Bu yazıda, C++ kullanarak MS Word belgelerinin sıfırdan nasıl oluşturulacağını gördünüz. Ayrıca, yeni veya mevcut Word belgelerine metin, resimler, tablolar ve listeler gibi öğeleri nasıl ekleyeceğinizi öğrendiniz. Belgeleri kullanarak API’nin gelişmiş özellikleri hakkında daha fazla bilgi edinebilirsiniz.