Как вставить пользовательский номер страницы в Aspose.Слова



Я хочу добавить пользовательские номера страниц (например,1/2, 2/2) в документ word с помощью Aspose.Слова. Но я не смог найти ни одного образца для языка c#. Я попытался перезаписать нижний колонтитул, но не смог дать формат номерам страниц.
Пожалуйста, помогите!
Спасибо!





Править





После того,как я попробовал первый ответ, он работал как то, что я хочу, но возникла другая проблема. I добавление дочерних документов в основной документ. Я могу только форматировать номер основного документа. Дочерние документы по-прежнему имеют обычную страницу число.
Вот пример кода;

   public void AddChildDocs (System.IO.Stream parentStream, List<System.IO.Stream> childStreams)
{

doc = new Aspose.Words.Document(parentStream);

if (Items.Count > 0)
{
WordReplacer evaluator = new WordReplacer(this);
doc.Range.Replace(new Regex(ReplaceRegex), evaluator, false);
}
foreach (var item in childStreams)
{
Aspose.Words.Document childDoc = new Aspose.Words.Document(item);
if (Items.Count > 0)
{
WordReplacer evaluator = new WordReplacer(this);
childDoc.Range.Replace(new Regex(ReplaceRegex), evaluator, false);
}
doc.AppendDocument(childDoc, ImportFormatMode.KeepSourceFormatting);
}

DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary);
builder.InsertField("PAGE", "");
builder.Write(" / ");
builder.InsertField("NUMPAGES", "");
}
580   2  

2 ответов:

Вы можете получить идею изэтой страницы в документации Aspose. Ниже приведен пример кода, взятый с той же страницы, но связанный только с пользовательскими номерами страниц.

String src = dataDir + "Page numbers.docx";
String dst = dataDir + "Page numbers_out.docx";

// Create a new document or load from disk
Aspose.Words.Document doc = new Aspose.Words.Document(src);
// Create a document builder
Aspose.Words.DocumentBuilder builder = new DocumentBuilder(doc);
// Go to the primary footer
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary);
// Add fields for current page number
builder.InsertField("PAGE", "");
// Add any custom text
builder.Write(" / ");
// Add field for total page numbers in document
builder.InsertField("NUMPAGES", "");

// Import new document
Aspose.Words.Document newDoc = new Aspose.Words.Document(dataDir + "new.docx");
// Link the header/footer of first section to previous document
newDoc.FirstSection.HeadersFooters.LinkToPrevious(true);
doc.AppendDocument(newDoc, ImportFormatMode.UseDestinationStyles);
// Save the document
doc.Save(dst);

Я работаю с Aspose в качестве разработчика Евангелиста.

Вот код для установки пользовательского номера страницы в aspose.word, Когда вы устанавливаете поля страницы и номер начальной страницы, то он автоматически получает следующую страницу, когда эта конкретная область страницы завершена. Попробуйте, это сработает...

section.PageSetup.PaperSize = PaperSize.Letter;
section.PageSetup.LeftMargin = 10;
section.PageSetup.RightMargin = 10;
section.PageSetup.TopMargin = 00;
section.PageSetup.BottomMargin = 0;
section.PageSetup.HeaderDistance = 50;
section.PageSetup.FooterDistance = 50;
section.PageSetup.Borders.Color = Color.Black;
section.PageSetup.PageStartingNumber = 1;

Comments

    Ничего не найдено.