【发布时间】:2017-07-09 18:32:38
【问题描述】:
这可能是一个愚蠢的问题,但我无法找到答案,一天后我转向整个社区寻求帮助......
我正在使用 Aspose for Word(C# 或 .Net),并尝试将生成的页码替换为我自己创建的条形码图像。我目前可以使用字体来做到这一点,但我发现它们对我的条形码阅读器不太可靠,因此需要能够从页码读取值并将其替换为我自己创建的图像。
所以我真的需要找到编号容器,读取其中的值并替换它。一旦我有了创建条形码并插入它就很容易了。
谁能帮忙?
目前的方法(对不起,它很乱,但我一直在尝试新事物):
internal static void SetFooters(ref Document doc)
{
doc.FirstSection.HeadersFooters.LinkToPrevious(false);
var builder = new DocumentBuilder(doc);
builder.MoveToDocumentStart();
Section currentSection = builder.CurrentSection;
PageSetup pageSetup = currentSection.PageSetup;
int totalPages = doc.PageCount;
int j = 1;
foreach (Section sect in doc.Sections)
{
//Loop through all headers/footers
foreach (HeaderFooter hf in sect.HeadersFooters)
{
if (
hf.HeaderFooterType == HeaderFooterType.FooterPrimary || hf.HeaderFooterType == HeaderFooterType.FooterEven || hf.HeaderFooterType == HeaderFooterType.FooterFirst)
{
builder.MoveToHeaderFooter(hf.HeaderFooterType);
Field page = builder.InsertField("PAGE");
builder.Document.UpdatePageLayout();
try
{
page.Update();
}
catch { }
int pageNumber = j;
if (int.TryParse(page.Result, out pageNumber))
{ j++; }
// Remove PAGE field.
page.Remove();
builder.Write(string.Format("{0}/{1}", pageNumber, totalPages));
}
}
}
}
【问题讨论】:
标签: c# aspose aspose.words