Werk Met Paragrawe
‘n paragraaf is’n stel karakters wat in’n logiese blok gekombineer word en eindig met’n spesiale karakter – a paragraph break. In Aspose.Words word’n paragraaf verteenwoordig deur die Paragraph klas.
Voeg’n Paragraaf in
Om’n nuwe paragraaf in die dokument in te voeg, moet jy eintlik’n paragraaf breekkarakter daarin invoeg. DocumentBuilder.Writeln voeg nie net’n string teks in die dokument nie, maar voeg ook’n paragraafonderbreking by.
Die huidige lettertipe formatering word ook gespesifiseer deur die Font eienskap, en die huidige paragraaf formatering word bepaal deur die ParagraphFormat eienskap. In die volgende afdeling gaan ons in meer besonderhede oor paragraafformatering.
Die volgende kode voorbeeld toon hoe om’n paragraaf in’n dokument in te voeg:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// The path to the documents directory. | |
System::String outputDataDir = GetOutputDataDir_WorkingWithDocument(); | |
// Initialize document. | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
// Specify font formatting | |
System::SharedPtr<Font> font = builder->get_Font(); | |
font->set_Size(16); | |
font->set_Bold(true); | |
font->set_Color(System::Drawing::Color::get_Blue()); | |
font->set_Name(u"Arial"); | |
font->set_Underline(Underline::Dash); | |
// Specify paragraph formatting | |
System::SharedPtr<ParagraphFormat> paragraphFormat = builder->get_ParagraphFormat(); | |
paragraphFormat->set_FirstLineIndent(8); | |
paragraphFormat->set_Alignment(ParagraphAlignment::Justify); | |
paragraphFormat->set_KeepTogether(true); | |
builder->Writeln(u"A whole paragraph."); | |
System::String outputPath = outputDataDir + u"DocumentBuilderInsertParagraph.doc"; | |
doc->Save(outputPath); |
Formaat Paragraaf
Huidige paragraaf formatering word verteenwoordig deur’n ParagraphFormat voorwerp wat teruggestuur word deur die ParagraphFormat eienskap. Hierdie voorwerp bevat verskeie paragraaf formatering eienskappe beskikbaar in Microsoft Word. U kan die paragraafformatering maklik terugstel na standaard Na Normale styl, links in lyn geen inkeping, geen spasiëring, geen grense en geen skadu deur ClearFormatting te skakel.
Die volgende kode voorbeeld toon hoe om paragraaf formatering stel:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
// Set paragraph formatting properties | |
System::SharedPtr<ParagraphFormat> paragraphFormat = builder->get_ParagraphFormat(); | |
paragraphFormat->set_Alignment(ParagraphAlignment::Center); | |
paragraphFormat->set_LeftIndent(50); | |
paragraphFormat->set_RightIndent(50); | |
paragraphFormat->set_SpaceAfter(25); | |
// Output text | |
builder->Writeln(u"I'm a very nice formatted paragraph. I'm intended to demonstrate how the left and right indents affect word wrapping."); | |
builder->Writeln(u"I'm another nice formatted paragraph. I'm intended to demonstrate how the space after paragraph looks like."); | |
System::String outputPath = outputDataDir + u"DocumentBuilderSetFormatting.SetParagraphFormatting.doc"; | |
doc->Save(outputPath); |
Pas Paragraafstyl Toe
Sommige formatering voorwerpe soos Lettertipe of ParagraphFormat ondersteun style. ‘n enkele ingeboude of gebruiker-gedefinieerde styl word verteenwoordig deur’n Style
voorwerp wat die ooreenstemmende styl eienskappe soos naam, basis styl, lettertipe en paragraaf formatering van die styl, en so aan bevat.
Verder, ‘n Style voorwerp bied die StyleIdentifier eienskap wat’n locale-onafhanklike styl identifiseerder verteenwoordig deur die StyleIdentifier opsomming waarde terugkeer. Die punt is dat die name van ingeboude style in Microsoft Word gelokaliseer is vir verskillende tale. Deur’n stylidentifiseerder te gebruik, kan jy die korrekte styl vind, ongeag die dokumenttaal. Die opsomming waardes ooreenstem met die Microsoft Word ingeboude style soos Normal, Heading 1, Heading 2 en so aan. Alle gebruiker-gedefinieerde style word die StyleIdentifier.User waarde toegeken.
Die volgende kode voorbeeld toon hoe om’n paragraaf styl toe te pas:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
// Set paragraph style | |
builder->get_ParagraphFormat()->set_StyleIdentifier(StyleIdentifier::Title); | |
builder->Write(u"Hello"); | |
System::String outputPath = outputDataDir + u"DocumentBuilderSetFormatting.ApplyParagraphStyle.doc"; | |
doc->Save(outputPath); |
Voeg Stylskeier in Om Verskillende Paragraafstyle Te Plaas
Die styl skeiding kan bygevoeg word aan die einde van’n paragraaf met behulp van die Ctrl + Alt + Enter Sleutelbord Kortpad in MS Woord. Hierdie funksie laat twee verskillende paragraafstyle toe wat in een logiese gedrukte paragraaf gebruik word. As jy’n teks van die begin van’n spesifieke opskrif wil hê om in’n Inhoudsopgawe te verskyn, maar nie die hele opskrif in die Inhoudsopgawe wil hê nie, kan jy hierdie funksie gebruik.
Die volgende kode voorbeeld toon hoe om’n styl skeier in te voeg om verskillende paragraaf style te akkommodeer:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
System::SharedPtr<Style> paraStyle = builder->get_Document()->get_Styles()->Add(StyleType::Paragraph, u"MyParaStyle"); | |
paraStyle->get_Font()->set_Bold(false); | |
paraStyle->get_Font()->set_Size(8); | |
paraStyle->get_Font()->set_Name(u"Arial"); | |
// Append text with "Heading 1" style. | |
builder->get_ParagraphFormat()->set_StyleIdentifier(StyleIdentifier::Heading1); | |
builder->Write(u"Heading 1"); | |
builder->InsertStyleSeparator(); | |
// Append text with another style. | |
builder->get_ParagraphFormat()->set_StyleName(paraStyle->get_Name()); | |
builder->Write(u"This is text with some other formatting "); | |
System::String outputPath = outputDataDir + u"InsertStyleSeparator.doc"; | |
// Save the document to disk. | |
doc->Save(outputPath); |
Identifiseer Paragraaf Styl Skeier
Aspose.Words bied’n openbare eiendom BreakIsStyleSeparator in’n Paragraph
klas kan identifiseer Styl Skeiding Paragraaf soos getoon in die voorbeeld hieronder gegee:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// The path to the documents directory. | |
System::String inputDataDir = GetInputDataDir_RenderingAndPrinting(); | |
// Initialize document. | |
System::String fileName = u"TestFile.doc"; | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + fileName); | |
for (System::SharedPtr<Paragraph> paragraph : System::IterateOver<Paragraph>(doc->GetChildNodes(NodeType::Paragraph, true))) | |
{ | |
if (paragraph->get_BreakIsStyleSeparator()) | |
{ | |
std::cout << "Separator Found!" << std::endl; | |
} | |
} |
Pas Grense en Skadu toe op’n Paragraaf
Grens in Aspose.Words word verteenwoordig deur die BorderCollection klas – dit is’n versameling van Border voorwerpe wat verkry word deur indeks of deur grens tipe. Grens tipe word verteenwoordig deur die BorderType
opsomming. Sommige waardes van die opsomming is van toepassing op verskeie of slegs een dokument element. Byvoorbeeld, BorderType.Bottom is van toepassing op’n paragraaf of tabel sel terwyl BorderType.DiagonalDown spesifiseer die diagonale rand in’n tabel sel net.
Beide die randversameling en elke afsonderlike rand het soortgelyke eienskappe soos kleur, lynstyl, lynbreedte, afstand van die teks en opsionele skaduwee. Hulle word verteenwoordig deur eiendomme met dieselfde naam. U kan verskillende soorte grense bereik deur die eiendomswaardes te kombineer. Daarbenewens, beide BorderCollection en Border voorwerpe toelaat dat jy hierdie waardes te herstel na verstek deur die roeping van die ClearFormatting metode.
Aspose.Words het ook die Shading klas bevat skadu eienskappe vir dokument elemente. U kan die gewenste skadu-tekstuur en die kleure wat op die agtergrond en voorgrond van die element toegepas word, instel.
Die skadu tekstuur is ingestel met’n TextureIndex opsomming waarde wat die toepassing van verskeie patrone op die Shading voorwerp toelaat. Byvoorbeeld, om’n agtergrond kleur vir’n dokument element stel, gebruik die TextureIndex.TextureSolid waarde en stel die voorgrond skadu kleur soos toepaslik.
Die volgende kode voorbeeld toon hoe om grense en skadu aan’n paragraaf toe te pas:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
// Set paragraph borders | |
System::SharedPtr<BorderCollection> borders = builder->get_ParagraphFormat()->get_Borders(); | |
borders->set_DistanceFromText(20); | |
borders->idx_get(BorderType::Left)->set_LineStyle(LineStyle::Double); | |
borders->idx_get(BorderType::Right)->set_LineStyle(LineStyle::Double); | |
borders->idx_get(BorderType::Top)->set_LineStyle(LineStyle::Double); | |
borders->idx_get(BorderType::Bottom)->set_LineStyle(LineStyle::Double); | |
// Set paragraph shading | |
System::SharedPtr<Shading> shading = builder->get_ParagraphFormat()->get_Shading(); | |
shading->set_Texture(TextureIndex::TextureDiagonalCross); | |
shading->set_BackgroundPatternColor(System::Drawing::Color::get_LightCoral()); | |
shading->set_ForegroundPatternColor(System::Drawing::Color::get_LightSalmon()); | |
builder->Write(u"I'm a formatted paragraph with double border and nice shading."); | |
System::String outputPath = outputDataDir + u"DocumentBuilderSetFormatting.ApplyBordersAndShadingToParagraph.doc"; | |
doc->Save(outputPath); |