最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解如何通過C#/VB.NET調(diào)整PDF文檔頁邊距

 更新時間:2023年04月28日 09:23:10   作者:Carina-baby  
PDF邊距是頁面主要內(nèi)容區(qū)域和頁面邊緣之間的距離。與Word頁邊距不同,PDF文檔的頁邊距很難更改。本文將介紹如何在不更改頁面大小的情況下使用C#/VB.NET?代碼調(diào)整PDF文檔的頁邊距,需要的可以參考一下

PDF邊距是頁面主要內(nèi)容區(qū)域和頁面邊緣之間的距離。與Word頁邊距不同,PDF文檔的頁邊距很難更改。因為Adobe沒有提供操作頁邊距的直接方法。但是,您可以通過縮放頁面內(nèi)容來改變頁邊距。本文將介紹如何在不更改頁面大小的情況下使用C#/VB.NET 代碼調(diào)整PDF文檔的頁邊距。

  • 增加PDF文檔的頁邊距
  • 縮短PDF文檔的頁邊距

增加PDF文檔的頁邊距

擴大PDF文檔邊距的方法是新建一個頁面尺寸更大的PDF,然后在大頁面的合適位置繪制源頁面。以下是增加 PDF 文檔邊距的步驟。

  • 初始化PdfDocument對象。
  • 創(chuàng)建另一個PdfDocument對象,該對象用于創(chuàng)建頁面尺寸更大的新PDF文檔。
  • 設(shè)置邊距的增加值。
  • 計算新PDF文檔的頁面大小。
  • 循環(huán)遍歷原始文檔中的頁面,并使用PdfPageBase.CreateTemplate() 方法基于特定頁面創(chuàng)建模板。
  • 使用PdfDocument.Pages.Add() 方法將頁面添加到新的PDF文檔中。
  • 使用PdfTemplate.Draw() 方法在頁面上的坐標(0,0)處繪制模板。
  • 使用PdfDocument.SaveToFile()方法將新的PDF文檔保存到文件中。

完整代碼

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace IncreaseMargins
{
    class Program
    {
        static void Main(string[] args)
        {
            //加載原始PDF文檔
            PdfDocument originalPdf = new PdfDocument("極晝極夜是怎么形成的.pdf");

            //獲取第一頁
            PdfPageBase firstPage = originalPdf.Pages[0];

            //創(chuàng)建新的PdfDocument對象
            PdfDocument newPdf = new PdfDocument();

            //設(shè)置邊距的增加值
            PdfMargins margins = newPdf.PageSettings.Margins;
            margins.Top = 40;
            margins.Bottom = 40;
            margins.Left = 40;
            margins.Right = 40;

            //計算新頁面大小
            SizeF sizeF = new SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom);

            //循環(huán)遍歷原始文檔中的頁面
            for (int i = 0; i < originalPdf.Pages.Count; i++)
            {
                //基于特定頁面創(chuàng)建模板
                PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();

                //將頁面添加到新的PDF
                PdfPageBase page = newPdf.Pages.Add(sizeF);

                //在頁面上繪制模板
                pdfTemplate.Draw(page, 0, 0);
            }

            //保存新文檔
            newPdf.SaveToFile("增加頁邊距.pdf", FileFormat.PDF);
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing

Namespace IncreaseMargins
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '加載原始PDF文檔
            Dim originalPdf As PdfDocument = New PdfDocument("極晝極夜是怎么形成的.pdf")

            '獲取第一頁
            Dim firstPage As PdfPageBase = originalPdf.Pages(0)

            '創(chuàng)建新的PdfDocument對象
            Dim newPdf As PdfDocument = New PdfDocument()

            '設(shè)置邊距的增加值
            Dim margins As PdfMargins = newPdf.PageSettings.Margins
            margins.Top = 40
            margins.Bottom = 40
            margins.Left = 40
            margins.Right = 40

            '計算新頁面大小
            Dim sizeF As SizeF = New SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom)

            '循環(huán)遍歷原始文檔中的頁面
            For i As Integer = 0 To originalPdf.Pages.Count - 1
                '基于特定頁面創(chuàng)建模板
                Dim pdfTemplate As PdfTemplate = originalPdf.Pages(i).CreateTemplate()

                '將頁面添加到新的PDF
                Dim page As PdfPageBase = newPdf.Pages.Add(sizeF)

                '在頁面上繪制模板
                pdfTemplate.Draw(page, 0, 0)
            Next

            '保存新文檔
            newPdf.SaveToFile("增加頁邊距.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

效果圖

縮小PDF文檔的頁邊距

縮小PDF 邊距的方法是新建一個頁面尺寸較小的PDF,然后在指定坐標的小頁面上繪制源頁面。以下是使用 Spire.PDF for .NET 縮小 PDF 文檔邊距的步驟。

  • 在初始化PdfDocument對象時加載原始PDF文檔。
  • 創(chuàng)建另一個PdfDocument對象,該對象用于創(chuàng)建頁面尺寸較小的新PDF文檔。
  • 設(shè)置邊距的減少值。
  • 計算新PDF文檔的頁面大小。
  • 循環(huán)遍歷原始文檔中的頁面,并使用PdfPageBase.CreateTemplate() 方法基于特定頁面創(chuàng)建模板。
  • 使用PdfDocument.Pages.Add() 方法將頁面添加到新的PDF文檔中。
  • 使用PdfTemplate.Draw() 方法在頁面上的指定坐標處繪制模板。
  • 使用PdfDocument.SaveToFile() 方法將新的PDF文檔保存到文件中。

完整代碼

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace DecreaseMargins
{
    class Program
    {
        static void Main(string[] args)
        {
            //加載原始PDF文檔
            PdfDocument originalPdf = new PdfDocument("極晝極夜是怎么形成的.pdf");

            //獲取第一頁
            PdfPageBase firstPage = originalPdf.Pages[0];

            //創(chuàng)建新的PdfDocument對象
            PdfDocument newPdf = new PdfDocument();

            //設(shè)置邊距的減少值
            float left = -20;
            float right = -20;
            float top = -20;
            float bottom = -20;

            //計算新頁面大小
            SizeF sizeF = new SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom);

            //循環(huán)遍歷原始文檔中的頁面
            for (int i = 0; i < originalPdf.Pages.Count; i++)
            {
                //基于特定頁面創(chuàng)建模板
                PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();

                //將頁面添加到新的PDF
                PdfPageBase page = newPdf.Pages.Add(sizeF, new PdfMargins(0));

                //在頁面上繪制模板
                pdfTemplate.Draw(page, left, top);
            }

            //保存新文檔
            newPdf.SaveToFile("縮小頁邊距.pdf", FileFormat.PDF);
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing

Namespace DecreaseMargins
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '加載原始PDF文檔
            Dim originalPdf As PdfDocument = New PdfDocument("極晝極夜是怎么形成的.pdf")

            '獲取第一頁
            Dim firstPage As PdfPageBase = originalPdf.Pages(0)

            '創(chuàng)建新的PdfDocument對象
            Dim newPdf As PdfDocument = New PdfDocument()

            '設(shè)置邊距的減少值
            Dim left As Single = -20
            Dim right As Single = -20
            Dim top As Single = -20
            Dim bottom As Single = -20

            '計算新頁面大小
            Dim sizeF As SizeF = New SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom)

            '循環(huán)遍歷原始文檔中的頁面
            For i As Integer = 0 To originalPdf.Pages.Count - 1
                '基于特定頁面創(chuàng)建模板
                Dim pdfTemplate As PdfTemplate = originalPdf.Pages(i).CreateTemplate()

                '將頁面添加到新的PDF
                Dim page As PdfPageBase = newPdf.Pages.Add(sizeF, New PdfMargins(0))

                '在頁面上繪制模板
                pdfTemplate.Draw(page, left, top)
            Next

            '保存新文檔
            newPdf.SaveToFile("縮小頁邊距.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

到此這篇關(guān)于詳解如何通過C#/VB.NET調(diào)整PDF文檔頁邊距的文章就介紹到這了,更多相關(guān)C#調(diào)整PDF頁邊距內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# WPF自制白板工具

    C# WPF自制白板工具

    著電子屏幕技術(shù)的發(fā)展,普通的黑板已不再適用現(xiàn)在的教學和演示環(huán)境,電子白板應(yīng)運而生,本文將通過C# WPF自制一個白板工具,感興趣的可以了解下
    2024-11-11
  • C#實現(xiàn)串口示波器

    C#實現(xiàn)串口示波器

    這篇文章主要為大家詳細介紹了C#實現(xiàn)串口示波器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# ArrayList、HashSet、HashTable、List、Dictionary的區(qū)別詳解

    C# ArrayList、HashSet、HashTable、List、Dictionary的區(qū)別詳解

    這篇文章主要介紹了C# ArrayList、HashSet、HashTable、List、Dictionary的區(qū)別的相關(guān)知識點內(nèi)容,有需要朋友們參考下。
    2019-08-08
  • 使用異步方式調(diào)用同步方法(實例詳解)

    使用異步方式調(diào)用同步方法(實例詳解)

    .NET Framework 允許您異步調(diào)用任何方法。為此,應(yīng)定義與您要調(diào)用的方法具有相同簽名的委托;公共語言運行時會自動使用適當?shù)暮灻麨樵撐卸xBeginInvoke和EndInvoke方法
    2013-10-10
  • 詳解C# 利用反射根據(jù)類名創(chuàng)建類的實例對象

    詳解C# 利用反射根據(jù)類名創(chuàng)建類的實例對象

    這篇文章主要介紹了詳解C# 利用反射根據(jù)類名創(chuàng)建類的實例對象,“反射”其實就是利用程序集的元數(shù)據(jù)信息,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • 基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進行模擬登陸和瀏覽實例

    基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進行模擬登陸和瀏覽實例

    這篇文章主要介紹了基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進行模擬登陸和瀏覽的方法,以實例形式詳細分析了WebClient模擬POST與GET登陸與瀏覽的過程,對于C#項目開發(fā)來說具有不錯的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • Json操作庫DynamicJson使用指南

    Json操作庫DynamicJson使用指南

    本文給大家分享的是專門為.NET程序員開發(fā)的Json操作庫DynamicJson,其源碼非常簡單,僅僅只有400行代碼,一個對應(yīng)的class類,目前只支持.NET 4.0以上的.NET Framework。
    2016-09-09
  • C#異步調(diào)用示例詳解

    C#異步調(diào)用示例詳解

    這篇文章主要為大家詳細介紹了C#異步調(diào)用的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Silverlight實現(xiàn)跑馬燈動畫

    Silverlight實現(xiàn)跑馬燈動畫

    這篇文章主要為大家詳細介紹了Silverlight實現(xiàn)跑馬燈動畫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • C#仿QQ實現(xiàn)簡單的截圖功能

    C#仿QQ實現(xiàn)簡單的截圖功能

    這篇文章主要為大家詳細介紹了如何利用C#語言模擬QQ實現(xiàn)屏幕選擇區(qū)域截圖功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-08-08

最新評論

富川| 隆尧县| 彝良县| 安远县| 奇台县| 突泉县| 通道| 轮台县| 霸州市| 公安县| 天水市| 镇江市| 辽中县| 都兰县| 尼勒克县| 泊头市| 册亨县| 资兴市| 彰化市| 巴塘县| 浏阳市| 资溪县| 平安县| 白玉县| 玉环县| 合山市| 瑞金市| 石屏县| 扶绥县| 清原| 鞍山市| 上林县| 镇巴县| 新蔡县| 苏尼特左旗| 北安市| 甘泉县| 松溪县| 科尔| 河曲县| 朝阳县|