PUB文件打开器
阅读 PUB 文件。使用 .NET 的 API 打开 Publisher
Microsoft® Publisher 文档文件格式用于创建各种出版物类型,例如新闻稿、小册子、传单和明信片,并用于电子邮件和网站。 Pub 文件包含文本、表格以及位图和矢量图形数据。
尽管该格式非常流行,但它不如 PDF 或 DOCX 等格式流行。 MS Publisher 应用程序本身不是免费的。
所以有时需要在没有这个程序的情况下打开 PUB 文件。当您想要显示文档的内容而不以任何其他方式编辑或操作它时(例如在进行演示或审阅时),这是需要的。为此,您可以使用跨平台的 PUB Viewer 应用程序。
在这里,您将获得 .NET API 解决方案,可让您查看 MS Publisher 文档的属性,例如大小、宽度、高度、所用字体的名称、字段数和颜色。
阅读 .NET 上的 Publisher 文件
要查看 .pub 文件属性,您需要执行以下步骤:
- 集成 .NET PUB API,它不仅适用于单页文档,还支持多页 .pub 文件。
- 使用 CreateParser() 上传您的 PUB 文件 PubFactory 类。
- 通过 Parse() 方法解析文档 IPubParser 接口。
- 打印文档 properties 。
.NET PUB API 入门
有两种方法可以安装产品:
- 从命令行安装为
nuget install Aspose.PUB
或通过 Visual Studio 的 Package Manager Console 使用Install-Package Aspose.PUB
安装。 - 或者,从 下载 获取 ZIP 文件中的离线 MSI 安装程序或 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.Examples.sln 解决方案,在 Aspose.PUB 文档的网络示例中,您还可以在其中找到有关如何使用该库的其他示例。
// 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();
}