• <menu id="w2i4a"></menu>
  • logo E-iceblue中文文檔

    文檔首頁>>E-iceblue中文文檔>>Spire.PDF常見問題解答

    Spire.PDF常見問題解答


    為方便使用者快速掌握和了解Spire.PDF,本文列舉了PDF理控件Spire.pdf常見問題及解答歡迎下載最新版體驗!

    Spire.PDF for .NET最新下載 

    技術(shù)交流社群:767755948

    如何將 HTML 代碼轉(zhuǎn)換為 PDF?

    A:Spire.PDF 無法加載包含 html 代碼的字符串。但是 Spire.Doc 可以加載它并且 Spire.Doc 支持 PDF 格式。所以你可以使用 Spire.Doc 來完成這項工作。完整代碼:

    string htmlstring = "<!DOCTYPE html><html><body><h1>Header 1</h1><p>First paragraph</p></body></html>";
    Document doc = new Document();
    Section sec = doc.AddSection();
    Paragraph para = sec.AddParagraph();
    
    //add html code to document
    para.AppendHTML(htmlstring);
    
    //save document as PDF format
    doc.SaveToFile("result.pdf", FileFormat.PDF);
    如何在表格的單元格中嵌入另一個表格?

    A:表格是一個更簡單的網(wǎng)格。在網(wǎng)格中,您可以操作每個單元格,為每個單元格設置不同的樣式并嵌入另一個網(wǎng)格。所以你可以使用網(wǎng)格來完成這項工作。完整代碼:

    PdfDocument document = new PdfDocument();
    PdfPageBase page = document.Pages.Add(PdfPageSize.A4);
    
    PdfGrid grid = new PdfGrid();
    grid.Columns.Add(1);
    grid.Columns[0].Width = page.Canvas.ClientSize.Width;
    PdfGridRow row0 = grid.Rows.Add();
    row0.Cells[0].Value = "This is the first row.";
    row0.Cells[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    PdfGridRow row1 = grid.Rows.Add();
    PdfLayoutResult result=grid.Draw(page, new PointF(0, 20));
    
    PdfGrid grid2 = new PdfGrid();
    grid2.Columns.Add(2);
    PdfGridRow newrow = grid2.Rows.Add();
    grid2.Columns[0].Width = grid.Columns[0].Width / 2;
    grid2.Columns[1].Width = grid.Columns[0].Width / 2;
    newrow.Cells[0].Value = "This is row two column one.";
    newrow.Cells[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    newrow.Cells[1].Value = "This is row two column two.";
    newrow.Cells[1].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    
    //assign grid2 to row1
    row1.Cells[0].Value = grid2;
    
    //drwa grid2
    result = grid2.Draw(page, new PointF(0, result.Bounds.Location.Y + result.Bounds.Height));
    document.SaveToFile("result.pdf");
    如何合并網(wǎng)格中的單元格?

    A:Spire.PDF 為您提供名為 RowSpan 和 ColumnSpan 的屬性來合并單元格。完整代碼:

    PdfDocument doc = new PdfDocument();
    PdfPageBase page = doc.Pages.Add();
    
    PdfGrid grid = new PdfGrid();
    grid.Columns.Add(5);
    float width = page.Canvas.ClientSize.Width - (grid.Columns.Count + 1);
    for (int i = 0; i < grid.Columns.Count; i++)
    {
    grid.Columns[i].Width = width * 0.20f;
    }
    PdfGridRow row0 = grid.Rows.Add();
    PdfGridRow row1 = grid.Rows.Add();
    
    row0.Style.Font = new PdfTrueTypeFont(new Font("Arial", 16f, FontStyle.Bold), true);
    row1.Style.Font = new PdfTrueTypeFont(new Font("Arial", 16f, FontStyle.Italic), true);
    
    row0.Cells[0].Value = "Corporation";
    
    //merge with the downside cell
    row0.Cells[0].RowSpan = 2;
    
    row0.Cells[1].Value = "B&K Undersea Photo";
    row0.Cells[1].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    
    //merge with the right cell
    row0.Cells[1].ColumnSpan = 3;
    
    row0.Cells[4].Value = "World";
    row0.Cells[4].Style.Font = new PdfTrueTypeFont(new Font("Arial", 10f, FontStyle.Bold | FontStyle.Italic), true);
    row0.Cells[4].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    row0.Cells[4].Style.BackgroundBrush = PdfBrushes.LightGreen;
    
    row1.Cells[1].Value = "Diving International Unlimited";
    row1.Cells[1].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
    row1.Cells[1].ColumnSpan = 4;
    
    grid.Draw(page, new PointF(0, 0));
    
    doc.SaveToFile("result.pdf");
    如何在 PDF 文件中添加簽名?

    A:首先,使用類 PdfCertificate 創(chuàng)建一個證書實例。證書實例將用于創(chuàng)建 PdfSignature 實例。然后使用類 PdfSignature 創(chuàng)建一個簽名實例。并且您需要設置簽名實例的屬性。完整代碼:

    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile("sample.pdf");
    PdfCertificate cert = new PdfCertificate("Demo.pfx", "e-iceblue");
    
    //add signature to every page of PDF file
    foreach (PdfPageBase page in doc.Pages)
    {
    PdfSignature signature = new PdfSignature(page.Document, page, cert, "demo");
    signature.ContactInfo = "Harry";
    signature.Certificated = true;
    signature.DocumentPermissions = PdfCertificationFlags.AllowFormFill;
    }
    
    doc.SaveToFile("result.pdf");
    如何重新排列 PDF 文件的頁面?

    A : 請調(diào)用 ReArrange 方法。該方法將一個 int 數(shù)組作為參數(shù)。int 數(shù)組表示頁面的新順序。完整代碼:

    PdfDocument document = new PdfDocument();
    
    //sample.pdf has four pages
    document.LoadFromFile("sample.pdf");
    
    //rearrange the pages of the PDF file
    int[] range = new int[] { 0, 2, 1, 3 };
    document.Pages.ReArrange(range);
    document.SaveToFile("result.pdf");
    如何添加圖片水???

    A : Spire.PDF 不直接支持圖片水印。但是您可以將圖像設置為 BackgroundImage。如果圖像足夠大,BackgroundImage 就像圖像水印一樣。完整代碼:

    PdfDocument document = new PdfDocument();
    PdfPageBase page = document.Pages.Add(PdfPageSize.A4);
    page.Canvas.DrawString("This is a demo about image watermark!",
    new PdfFont(PdfFontFamily.Helvetica, 25f),
    new PdfSolidBrush(Color.Green),
    10, 40);
    
    //set image as BackgroundImage to make image watermark
    Image img = Image.FromFile("scene.bmp");
    page.BackgroundImage = img;
    document.SaveToFile("result.pdf");
    如何在所有頁面上重復標題?

    A : PdfDocumentTemplate 中的內(nèi)容將適用于 PDF 文件的每一頁。您所要做的就是創(chuàng)建一個將標題添加到 PdfDocumentTemplate 的方法。然后標題將添加到每個頁面。完整代碼:

    static void Main(string[] args)
    {
    PdfDocument doc = new PdfDocument();
    PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
    PdfMargins margin = new PdfMargins();
    margin.Top = unitCvtr.ConvertUnits(3.0f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
    margin.Bottom = margin.Top;
    margin.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
    margin.Right = margin.Left;
    
    
    // create three page
    PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, margin);
    page = doc.Pages.Add(PdfPageSize.A4, margin);
    page = doc.Pages.Add(PdfPageSize.A4, margin);
    
    //apply template
    SetDocumentTemplate(doc, PdfPageSize.A4, margin);
    doc.SaveToFile("result.pdf");
    
    }
    //method to add header to every page
    private static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
    {
    PdfPageTemplateElement leftSpace
    = new PdfPageTemplateElement(margin.Left, pageSize.Height);
    doc.Template.Left = leftSpace;
    
    PdfPageTemplateElement topSpace
    = new PdfPageTemplateElement(pageSize.Width, margin.Top);
    topSpace.Foreground = true;
    doc.Template.Top = topSpace;
    
    //draw header label
    PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 9f, FontStyle.Italic));
    PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
    String label = "Demo about Header Repeating";
    
    //set the header style
    SizeF size = font.MeasureString(label, format);
    float y = topSpace.Height - font.Height - 40;
    PdfPen pen = new PdfPen(Color.Black, 0.75f);
    topSpace.Graphics.SetTransparency(0.5f);
    topSpace.Graphics.DrawLine(pen, margin.Left - 30, y, pageSize.Width - margin.Right + 30, y);
    y = y - 1 - size.Height;
    topSpace.Graphics.DrawString(label, font, PdfBrushes.Black, pageSize.Width - margin.Right, y, format);
    
    PdfPageTemplateElement rightSpace
    = new PdfPageTemplateElement(margin.Right, pageSize.Height);
    doc.Template.Right = rightSpace;
    
    PdfPageTemplateElement bottomSpace
    = new PdfPageTemplateElement(pageSize.Width, margin.Bottom);
    bottomSpace.Foreground = true;
    doc.Template.Bottom = bottomSpace;
    }

    更多E-iceblue產(chǎn)品體驗

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();