Yer İşaretli Metni Word Belgesine Kopyala
Bu makalede, Aspose.Words for .NET kütüphanesinde Yer İşaretli Metni Kopyala fonksiyonunun nasıl kullanılacağını anlamak için yukarıdaki C# kaynak kodunu inceleyeceğiz. Bu özellik, belirli bir yer iminin içeriğini kaynak belgeden başka bir belgeye kopyalamanıza olanak tanır.
Önkoşullar
- C# dili hakkında temel bilgi.
- Aspose.Words kütüphanesinin kurulu olduğu .NET geliştirme ortamı.
Adım 1: Kaynak Belgeyi Yükleme
Yer imi metnini kopyalamadan önce kaynak belgeyi birDocument
dosya yolunu kullanan nesne:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
2. Adım: Kaynak yer işaretini alma
biz kullanıyoruzBookmarks
kopyalamak istediğimiz belirli yer imini almak için kaynak belge aralığının özelliği:
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
3. Adım: Hedef belgeyi oluşturma
Yer imi içeriğini kopyalamak için hedef belge görevi görecek yeni bir belge oluşturuyoruz:
Document dstDoc = new Document();
Adım 4: Kopyalama Konumunu Belirleme
Kopyalanan metni eklemek istediğimiz konumu belirtiyoruz. Örneğimizde metni, hedef belgenin son bölümünün gövdesinin sonuna ekliyoruz:
CompositeNode dstNode = dstDoc.LastSection.Body;
5. Adım: Yer imi metnini içe aktarın ve kopyalayın
Bir kullanıyoruzNodeImporter
Yer imi metnini kaynak belgeden hedef belgeye aktarmak ve kopyalamak için kullanılan nesne:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
Aspose.Words for .NET kullanarak Yer İşaretli Metni Kopyalamak için örnek kaynak kodu
Aspose.Words for .NET kullanarak bir yer iminden metin kopyalamayı gösteren örnek kaynak kodunun tamamını burada bulabilirsiniz:
// Belgeler dizininin yolu.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
// Bu, içeriğini kopyalamak istediğimiz yer imidir.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
// Bu belgeye ekleme yapacağız.
Document dstDoc = new Document();
// Diyelim ki son bölümün gövdesinin sonuna ekleneceğiz.
CompositeNode dstNode = dstDoc.LastSection.Body;
// Tek bir bağlam olmadan birden çok kez içe aktarırsanız, birçok stilin oluşturulmasına neden olur.
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(importer, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
EkleYer İşaretli Metin Kaynak Kodu
private void AppendBookmarkedText(NodeImporter importer, Bookmark srcBookmark, CompositeNode dstNode)
{
// Bu, yer iminin başlangıcını içeren paragraftır.
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
// Bu, yer iminin sonunu içeren paragraftır.
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
if (startPara == null || endPara == null)
throw new InvalidOperationException(
"Parent of the bookmark start or end is not a paragraph, cannot handle this scenario yet.");
// Kendimizi oldukça basit bir senaryoyla sınırlayalım.
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Start and end paragraphs have different parents, cannot handle this scenario yet.");
// Tüm paragrafları başlangıç paragrafından bitiş paragrafına kadar (ve dahil) kopyalamak istiyoruz,
// dolayısıyla duracağımız düğüm son paragraftan sonraki düğümdür.
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
//Bu, mevcut düğümün bir kopyasını oluşturur ve onu bağlamda içe aktarır (geçerli kılar)
// hedef belgenin. İçe aktarma, stilleri ve liste tanımlayıcılarını doğru şekilde ayarlamak anlamına gelir.
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
}
Çözüm
Bu makalede, Aspose.Words for .NET’ten Yer İşaretli Metni Kopyala fonksiyonunun nasıl kullanılacağını anlamak için C# kaynak kodunu inceledik. Bir yer iminin içeriğini kaynak belgeden başka bir belgeye kopyalamak için adım adım bir kılavuz izledik.
Yer imlerine eklenen metni word belgesine kopyalamaya ilişkin SSS
S: Aspose.Words for .NET’te “Metni yer imleriyle kopyala” özelliğini kullanmak için gereksinimler nelerdir?
C: Aspose.Words for .NET’teki “Metni yer işaretleriyle kopyala” özelliğini kullanmak için temel C# dili bilgisine sahip olmanız gerekir. Ayrıca Aspose.Words kütüphanesinin kurulu olduğu bir .NET geliştirme ortamına da ihtiyacınız var.
S: Kaynak belgeyi Aspose.Words for .NET’e nasıl yüklerim?
C: Aspose.Words for .NET’e kaynak belge yüklemek içinDocument
belgenin dosya yolunu belirterek sınıf. İşte örnek bir kod:
Document srcDoc = new Document("path/to/your/document.docx");
S: Aspose.Words for .NET kullanarak kaynak belgedeki belirli bir yer iminin içeriğine nasıl ulaşılır?
C: Aspose.Words for .NET’i kullanarak kaynak belgedeki belirli bir yer iminin içeriğini almak için şuraya erişebilirsiniz:Bookmarks
kaynak belge aralığının özelliğini kullanın ve belirli bir yer imini almak için yer imi adını kullanın. İşte örnek bir kod:
Bookmark srcBookmark = srcDoc.Range.Bookmarks["BookmarkName"];
S: Aspose.Words for .NET kullanılarak hedef belgedeki yer imi metni kopyasının konumu nasıl belirlenir?
C: Aspose.Words for .NET kullanarak kopyalanan yer imi metnini hedef belgede nereye eklemek istediğinizi belirtmek için hedef belgenin son bölümünün gövdesine gidebilirsiniz. Şunu kullanabilirsiniz:LastSection
son bölüme erişim özelliği veBody
o bölümün gövdesine erişme özelliği. İşte örnek bir kod:
CompositeNode dstNode = dstDoc.LastSection.Body;
S: Aspose.Words for .NET kullanılarak yer imi metni kaynak belgeden hedef belgeye nasıl aktarılır ve kopyalanır?
C: Yer imi metnini Aspose.Words for .NET kullanarak kaynak belgeden hedef belgeye aktarmak ve kopyalamak için şu komutu kullanabilirsiniz:NodeImporter
Kaynak belgeyi, hedef belgeyi ve saklanacak biçimlendirme modunu belirten sınıf. Daha sonra şunu kullanabilirsiniz:AppendBookmarkedText
Yer imi metnini hedef belgeye ekleme yöntemini kullanın. İşte örnek bir kod:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
S: Aspose.Words for .NET kullanarak yer imi metnini kopyaladıktan sonra hedef belge nasıl kaydedilir?
C: Aspose.Words for .NET’i kullanarak bir yer iminden metin kopyaladıktan sonra hedef belgeyi kaydetmek için,Save
yöntemiDocument
Hedef dosya yolunu belirten nesne. İşte örnek bir kod:
dstDoc.Save("path/to/your/destination-document.docx");