zoukankan      html  css  js  c++  java
  • C# 添加文本、图片到PDF文档(基于Spire.Cloud.SDK for .NET)

    感谢大哥 https://www.cnblogs.com/Yesi/p/12156886.html

    Spire.Cloud.SDK for .NET提供了接口PdfTextApi及PdfImagesApi用于添加文本和图片到PDF文档,添加文本时,可格式化文本样式,包括文本字体类型、字号、字体样式、文本颜色、字符间距、行距、首行缩进、文本对齐方式、文本环绕方式等;添加图片时,可格式化图片,包括图片位置、高度、宽度等。本文将通过C#代码演示如何实现以上内容操作。

    使用工具:

    • Spire.Cloud.SDK for .NET
    • Visual Studio

    必要步骤:

    步骤一:dll文件获取及导入。在VS程序中通过Nuget搜索下载,直接导入所有dll。

    导入效果如下如所示:

    步骤二:App ID及Key获取。在“我的应用”板块中创建应用以获得App ID及App Key。

    步骤三:源文档上传。在“文档管理”板块,上传源文档。这里可以建文件夹,将文档存放在文件夹下。不建文件夹时,源文档及结果文档直接保存在根目录。本文示例中,建了两个文件夹,分别用于存放源文档及结果文档。(云平台提供免费1 万次调用次数和 2G 文档内存)

    C# 代码示例

    1. 添加文本到PDF

    复制代码
    using System;
    using Spire.Cloud.Pdf.Sdk.Client;
    using Spire.Cloud.Pdf.Sdk.Api;
    using Spire.Cloud.Pdf.Sdk.Model;
    
    
    
    namespace AddText_Cloud.PDF
    {
        class Program
        {
            //配置AppID和AppKey
            static string appId = "App ID";
            static string appKey = "App Key";
            static string basePath = "https://api.e-iceblue.cn";
            static Configuration Configuration = new Configuration(appId, appKey, basePath);
            static PdfTextApi textApi = new PdfTextApi(Configuration);
            static void Main(string[] args)
            {
                string name = "sample.pdf";//源文档
                string destFilePath = "output/AddText.pdf";//结果文档路径
                int pageNumber = 2;//指定文本内容所在页数
                string folder = "input";//源文档所在文件夹
                Spire.Cloud.Pdf.Sdk.Model.Text text = new Spire.Cloud.Pdf.Sdk.Model.Text("This is a test. This is a test. This is a test. This is a test. This is a test. This is a test.",
                    new Font(Font.FontTypeEnum.TrueType, "Arial", 13, Font.FontStyleEnum.Regular),
                    new RectangleF(50, 320, 500, 200));//实例化文本信息(文本内容、字体类型、字号、字体样式、文本位置)
                text.BackgroundColor = new Color(255, 244, 164, 96);//设置文本背景色
                text.ForegroundColor = new Color(255, 135, 206, 235);//设置文本前景色
                text.CharSpacing = 5;//字符间距
                text.FirstLineIndent = 100;//首行缩进
                text.LineSpacing = 15;//行距
                text.HorizontalAlignment = Spire.Cloud.Pdf.Sdk.Model.Text.HorizontalAlignmentEnum.Left;//文本水平对齐方式    
                text.VerticalAlignment = Spire.Cloud.Pdf.Sdk.Model.Text.VerticalAlignmentEnum.Middle;//文本垂直对齐方式  
                text.WordSpacing = 12;//单词间距
                text.WordWrap = Spire.Cloud.Pdf.Sdk.Model.Text.WordWrapEnum.Character;//文本环绕方式
    
                //调用方法添加文本
                textApi.AddText(name, destFilePath, pageNumber, text, folder, null);
            }
        }
    }
    复制代码

    文本添加效果:

    2. 添加图片到PDF

    复制代码
    using Spire.Cloud.Pdf.Sdk.Api;
    using Spire.Cloud.Pdf.Sdk.Client;
    using System;
    using System.IO;
    
    
    namespace AddImg_Cloud.PDF
    {
        class Program
        {
            //配置AppID和AppKey
            static string appId = "App ID";
            static string appKey = "App Key";
            static string basePath = "https://api.e-iceblue.cn";
            static Configuration Configuration = new Configuration(appId, appKey, basePath);
            static PdfImagesApi imageApi = new PdfImagesApi(Configuration);
            static void Main(string[] args)
            {           
                string name = "sample.pdf";//源文档
                string destFilePath = "output/AddImg.pdf";//结果文档路径
                int pageNumber = 2;//指定图片所在文档页数
                string folder = "input";//源文档所在文件夹
                string password = null;//源文档密码
    
                System.IO.Stream file = new FileStream("logo.png", FileMode.Open);//打开图片
    
                //指定图片位置及大小
                float x = 50;
                float y = 320;
                float width = 200;
                float height = 200;
    
                //调用方法添加图片
                imageApi.AddImage(name, destFilePath, pageNumber, file, x, y, width, height, folder, password);
            }
        }
    }
    复制代码

    图片添加效果:

  • 相关阅读:
    进制
    流程控制
    运算符
    格式化输出
    数据结构-树的遍历
    A1004 Counting Leaves (30分)
    A1106 Lowest Price in Supply Chain (25分)
    A1094 The Largest Generation (25分)
    A1090 Highest Price in Supply Chain (25分)
    A1079 Total Sales of Supply Chain (25分)
  • 原文地址:https://www.cnblogs.com/ning-xiaowo/p/13158344.html
Copyright © 2011-2022 走看看