Upravit ovládací prvky obsahu
Zavedení
Pokud jste někdy pracovali s dokumenty aplikace Word a potřebovali jste upravit ovládací prvky strukturovaného obsahu – jako prostý text, rozevírací seznamy nebo obrázky – pomocí Aspose.Words pro .NET, jste na správném místě! Structured Document Tags (SDT) jsou výkonné nástroje, díky nimž je automatizace dokumentů snadnější a flexibilnější. V tomto tutoriálu se ponoříme do toho, jak můžete upravit tyto SDT tak, aby vyhovovaly vašim potřebám. Ať už aktualizujete text, měníte výběr v rozevíracím seznamu nebo vyměňujete obrázky, tento průvodce vás provede procesem krok za krokem.
Předpoklady
Než se vrhneme na to, co je nutné s úpravou ovládacích prvků obsahu, ujistěte se, že máte následující:
Aspose.Words for .NET Installed: Ujistěte se, že máte nainstalovanou knihovnu Aspose.Words. Pokud ne, můžetestáhněte si jej zde.
Základní znalost C#: Tento tutoriál předpokládá, že jste obeznámeni se základními koncepty programování v C#.
Vývojové prostředí .NET: Pro spouštění aplikací .NET byste měli mít nastavené IDE jako Visual Studio.
Ukázkový dokument: Budeme používat ukázkový dokument aplikace Word s různými typy SDT. Můžete použít ten z příkladu nebo si vytvořit vlastní.
Přístup k dokumentaci Aspose: Podrobnější informace naleznete naDokumentace Aspose.Words.
Importovat jmenné prostory
Chcete-li začít pracovat s Aspose.Words, musíte do svého projektu C# importovat příslušné jmenné prostory. Postup je následující:
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Tables;
Tyto jmenné prostory vám umožní přístup ke třídám a metodám nezbytným pro manipulaci se strukturovanými značkami dokumentů v dokumentech aplikace Word.
Krok 1: Nastavte cestu k dokumentu
Před provedením jakýchkoli změn musíte zadat cestu k dokumentu. Nahradit"YOUR DOCUMENT DIRECTORY"
se skutečnou cestou, kde je dokument uložen.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Structured document tags.docx");
Krok 2: Procházení tagů strukturovaného dokumentu
Chcete-li upravit SDT, musíte nejprve projít všechny SDT v dokumentu. To se provádí pomocíGetChildNodes
metoda k získání všech uzlů typuStructuredDocumentTag
.
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
// Upravte SDT na základě jejich typu
}
Krok 3: Upravte SDT ve formátu prostého textu
Pokud je SDT typu prostého textu, můžete jeho obsah nahradit. Nejprve vymažte stávající obsah a poté přidejte nový text.
if (sdt.SdtType == SdtType.PlainText)
{
sdt.RemoveAllChildren();
Paragraph para = sdt.AppendChild(new Paragraph(doc)) as Paragraph;
Run run = new Run(doc, "new text goes here");
para.AppendChild(run);
}
Vysvětlení: Zde,RemoveAllChildren()
vymaže stávající obsah SDT. Poté vytvoříme novýParagraph
aRun
objekt pro vložení nového textu.
Krok 4: Upravte SDT rozevíracího seznamu
U SDT rozevíracího seznamu můžete vybranou položku změnit přístupem kListItems
sbírka. Zde vybereme třetí položku v seznamu.
if (sdt.SdtType == SdtType.DropDownList)
{
SdtListItem secondItem = sdt.ListItems[2];
sdt.ListItems.SelectedValue = secondItem;
}
Vysvětlení: Tento fragment kódu vybere položku na indexu 2 (třetí položka) z rozevíracího seznamu. Upravte index podle svých potřeb.
Krok 5: Upravte SDT obrázků
Chcete-li aktualizovat obrázek v rámci SDT obrázku, můžete nahradit stávající obrázek novým.
if (sdt.SdtType == SdtType.Picture)
{
Shape shape = (Shape) sdt.GetChild(NodeType.Shape, 0, true);
if (shape.HasImage)
{
shape.ImageData.SetImage(ImagesDir + "Watermark.png");
}
}
Vysvětlení: Tento kód zkontroluje, zda tvar obsahuje obrázek, a poté jej nahradí novým obrázkem umístěným naImagesDir
.
Krok 6: Uložte svůj upravený dokument
Po provedení všech nezbytných změn uložte upravený dokument pod novým názvem, aby byl původní dokument zachován.
doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");
Vysvětlení: Tím se dokument uloží s novým názvem souboru, takže jej můžete snadno odlišit od originálu.
Závěr
Úprava ovládacích prvků obsahu v dokumentu aplikace Word pomocí Aspose.Words for .NET je jednoduchá, jakmile pochopíte příslušné kroky. Ať už aktualizujete text, měníte výběry v rozevíracím seznamu nebo vyměňujete obrázky, Aspose.Words poskytuje pro tyto úkoly robustní rozhraní API. Podle tohoto kurzu můžete efektivně spravovat a přizpůsobovat ovládací prvky strukturovaného obsahu dokumentu, díky čemuž budou vaše dokumenty dynamičtější a přizpůsobené vašim potřebám.
Nejčastější dotazy
- Co je to značka strukturovaného dokumentu (SDT)?
SDT jsou prvky v dokumentech aplikace Word, které pomáhají spravovat a formátovat obsah dokumentu, jako jsou textová pole, rozevírací seznamy nebo obrázky.
- Jak mohu přidat novou rozevírací položku do SDT?
Chcete-li přidat novou položku, použijteListItems
vlastnost a připojit novouSdtListItem
do sbírky.
- Mohu použít Aspose.Words k odstranění SDT z dokumentu?
Ano, SDT můžete odstranit tak, že otevřete uzly dokumentu a smažete požadovaný SDT.
- Jak zacházím s SDT, které jsou vnořeny do jiných prvků?
PoužijteGetChildNodes
metoda s vhodnými parametry pro přístup k vnořeným SDT.
- Co mám dělat, když SDT, kterou potřebuji upravit, není v dokumentu vidět?
Ujistěte se, že SDT není skrytý nebo chráněný. Zkontrolujte nastavení dokumentu a ujistěte se, že váš kód správně cílí na typ SDT.
Příklad zdrojového kódu pro úpravu ovládacích prvků obsahu pomocí Aspose.Words pro .NET
// Cesta k vašemu adresáři dokumentů
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Structured document tags.docx");
foreach (StructuredDocumentTag sdt in doc.GetChildNodes(NodeType.StructuredDocumentTag, true))
{
switch (sdt.SdtType)
{
case SdtType.PlainText:
{
sdt.RemoveAllChildren();
Paragraph para = sdt.AppendChild(new Paragraph(doc)) as Paragraph;
Run run = new Run(doc, "new text goes here");
para.AppendChild(run);
break;
}
case SdtType.DropDownList:
{
SdtListItem secondItem = sdt.ListItems[2];
sdt.ListItems.SelectedValue = secondItem;
break;
}
case SdtType.Picture:
{
Shape shape = (Shape) sdt.GetChild(NodeType.Shape, 0, true);
if (shape.HasImage)
{
shape.ImageData.SetImage(ImagesDir + "Watermark.png");
}
break;
}
}
}
doc.Save(dataDir + "WorkingWithSdt.ModifyContentControls.docx");
To je vše! Úspěšně jste upravili různé typy ovládacích prvků obsahu v dokumentu aplikace Word pomocí Aspose.Words for .NET.