向 PS 文件添加文本

处理 PS 文件文本的 C# .NET API 解决方案

 

使用 PostScript 文件中的字体有一些需要理解的特性。这里有几个要点:

  • PostScript 文件中使用的字体可以嵌入在文件中,也可以从外部引用。在不同系统上打开文件时,嵌入字体将可用,但它们会增加文件大小。无论用于渲染文本的初始字体如何 Aspose .Page 的 PsDocument 嵌入了初始字体的截断版本,其中仅添加了文档中使用的字形。因此嵌入字体的体积可以明显小于初始字体之一。特别是对于像 Times New Roman 这样的多语言字体来说这是公平的 、Courier、Arial 等。默认情况下,Aspose.Page 始终嵌入字体,但如果您只想引用它们,则需要将 PsSaveOption 中的 EmbedFonts 属性设置为 false。

  • PostScript 支持大量字体,包括轮廓和位图、Adobe Type0(复合)、Type1、Type3、Type14 (CFF)、Type42 (True Type) 和 CID-Keyed。但是,为了简化,Aspope.Page 的 PsDocument 仅接受 True Type、Open Type 和 CFF 字体(有限制),因为这些字体类型是最流行且非常相似的。对于简单字体,PostScript 只能渲染 ASCII 范围 (0-255) 内的字符。因此,如果渲染 文本包含编码超过 255 个的字符,Aspope.Page 始终创建复合 (Type0) 字体,其中它将简单字体(例如 Type 42)与 CMAP 对象连接起来,将字符代码映射到字形 ID。

  • 在 PostScript 中处理文本时,必须确保 PostScript 解释器或打印机可以使用和访问必要的字体文件,以便打印结果看起来不错。

  • PostScript 中的字体渲染质量可能会有所不同,具体取决于用于解释文件的输出设备或软件。因此,不要忘记在不同的设备和打印机上测试文件,以确保一致且准确的字体显示。

了解这些方面有助于确保在基于 PostScript 的工作流程中正确使用字体和一致呈现。但无论如何,Aspose.Page 为您提供了轻松管理PS 文件字体的功能。使用此 API,您可以使用自定义或系统字体添加不同颜色的文本和画笔。了解更多关于 如何处理 PS 文件如何处理 PS 文件的文本 特别是遵循文档。

要将文本插入 PS 文档,我们需要:

  • Aspose.Page for .NET API 是一个功能丰富、功能强大且易于使用的 C# 平台文档操作和转换 API。

  • 打开 NuGet 包管理器,搜索 Aspose.Page 并安装。您也可以从包管理器控制台使用以下命令。

Package Manager Console Command


    PM> Install-Package Aspose.Page

将文本添加到 PS 文件的步骤 C#。

下面的代码片段演示了如何使用 C# 中的 Aspose.Page 库将使用 Unicode 字符串的文本添加到 PostScript (PS) 文档。要查看示例的更完整版本和更多示例,请转到 Aspose.Page-for-.NET GitHub 项目

  1. 使用包含文档的目录路径初始化 dataDir 变量。
  2. 将变量 FONTS_FOLDER 设置为包含必要字体的文件夹的路径。
  3. 使用 FileStream 类为 PostScript 文档创建输出流。
  4. 使用 PsSaveOptions 对象指定 PostScript 文档的保存选项。
  5. 选项对象的 AdditionalFontsFolders 属性设置为一个数组,其中包含指向 FONTS_FOLDER 的路径。这允许系统在该文件夹中找到任何需要的字体。
  6. 指定要添加的文本及其大小。
  7. 使用输出流、选项和 false 作为参数创建 PsDocument 的新实例。这将使用指定的选项初始化一个新的 PostScript 文档。
  8. 在文档对象上调用 ClosePage() 方法,表示当前页面完成。

将文本添加到 PS 文件的 C# 代码

    using Aspose.Page;
    using Aspose.Page.EPS;
    using Aspose.Page.EPS.Device;
    using Aspose.Page.Font;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.IO;
    // Secify the path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithText();

    string FONTS_FOLDER = RunExamples.GetDataDir_Data() + @"necessary_fonts/";

    //Create output stream for PostScript document
    using (Stream outPsStream = new FileStream(dataDir + "AddTextUsingUnocodeString_outPS.ps", FileMode.Create))
    {
        //Create save options with A4 size
        PsSaveOptions options = new PsSaveOptions();
        // Set custom fonts folder. It will be added to system fonts folders for finding needed font.
        options.AdditionalFontsFolders = new string[] { FONTS_FOLDER };
        //A text to write to PS file
        string str = "試してみます。";
        int fontSize = 48;

        // Create new 1-paged PS Document
        PsDocument document = new PsDocument(outPsStream, options, false);

        //Close current page
        document.ClosePage();

        //Save the document
        document.Save();
    }



常问问题

1. 我可以向 PostScript (PS) 文档添加文本吗?

是的,您可以使用文本绘制运算符和命令将文本添加到 PostScript 文档,其中包括用于指定文本起始位置的moveto、用于显示文本的show以及用于设置字体和大小的setfont

2. 如何在 PS 文件中添加具有特定格式的文本?

使用setfont运算符选择所需的字体和大小,并使用其他与文本相关的运算符来调整颜色、样式和对齐等属性。

3. 将文本添加到 PostScript (PS) 文档的最佳实践有哪些?

将文本添加到 PostScript 文档时,必须考虑可读性、对齐方式以及与文档整体设计的一致性。

PS 什么是PS文件格式

PS 格式是页面描述语言 (PDL) 格式之一。它能够在页面上包含图形和文本信息。这就是为什么大多数图像编辑程序都支持该格式的原因。 postscript 文件本身就是对打印机的一种指令。它包含有关从其页面打印什么以及如何打印的信息。