PUB文件打开器
阅读 PUB 文件。使用 .NET 的 API 打开 Publisher
阅读 PUB 文件变得轻松:不需要 MS Publisher!
Microsoft Publisher (.pub) 文件通常用于创建新闻稿、手册和宣传单。虽然流行,但如果没有 Publisher 软件,打开它们可能会有挑战。
这就是跨平台 PUB Viewer 应用程序发挥作用的地方——它可以让您查看 PUB 文件的内容——非常适合在仅需查看信息的演示或审查等场景中使用。这将让您了解文件大小、维度、使用的字体、字段数量和配色方案。
除此之外,该工具还超越了简单的查看功能,提供了有关 PUB 文档本身的有价值细节。在这里,您将获得 .NET API 解决方案,使您能够查看 MS Publisher 文档的属性,例如大小、宽度、高度、使用的字体名称、字段数量和颜色。
如何在 .NET 上打开 PUB 文件
要查看 .pub 文件属性,您需要执行以下步骤:
- 整合 .NET PUB API,它不仅适用于单页文档,还支持多页 .pub 文件。
- 使用 PubFactory 类的 [CreateParser()] 方法上传您的 PUB 文件。
- 通过 IPubParser 接口的 [Parse()] 方法解析文档。
- 打印文档 properties 。
开始使用 .NET PUB API
有两种安装产品的方式:
- 从命令行安装:
nuget install Aspose.PUB,或在 Visual Studio 的 Package Manager Console 中使用Install-Package Aspose.PUB。 - 或者,从 下载 页面获取离线 MSI 安装程序或 ZIP 文件中的 DLL。
.NET 代码读取 PUB 文件属性
// Load PUB file
var parser = PubFactory.CreateParser("sample.pub");
// Parse file
var doc = parser.Parse();
// Print document properties
Console.WriteLine($"Page width: {GetInchesString(doc.Width)}");
Console.WriteLine($"Page height: {GetInchesString(doc.Height)}");
Console.WriteLine($"Field count: {doc.FieldCount}");
string fontNames = GetCollectionString(doc.FontNames);
if (!string.IsNullOrEmpty(fontNames))
{
Console.WriteLine($"Fonts used in document: {fontNames}");
}
string colors = GetCollectionString(doc.Colors);
if (!string.IsNullOrEmpty(colors))
{
Console.WriteLine($"Colors used in document: {colors}");
}要查看完整的 ReadPubDocument.cs 示例代码,请转到 Aspose.PUB 文档的 net‑examples 中的 Aspose.PUB.Examples.sln 解决方案,您还可以在那里找到其他使用该库的示例。
// Description of invoked methods:
private string GetInchesString(uint size)
{
double value = (double)size / EMUsesInOneInch;
return Convert.ToString(value) + " inches";
}
private string GetCollectionString(ICollection array)
{
if (array.Count == 0)
{
return null;
}
StringBuilder sb = new StringBuilder();
int num = -1;
IEnumerator enumerator = array.GetEnumerator();
while (enumerator.MoveNext())
{
num++;
sb.Append(GetObjectStirng(enumerator.Current));
if (num < (array.Count - 1))
{
sb.Append(", ");
}
}
return sb.ToString();
}
private string GetObjectStirng(object value)
{
if (value is Color)
{
Color colorVal = (Color)value;
return $"RGB({colorVal.R}, {colorVal.G}, {colorVal.B})";
}
return value.ToString();
}