pdfpdf入门


备注

可移植文档格式(PDF)是一种文件格式,用于可靠地呈现和交换文档,与软件,硬件或操作系统无关。由Adobe发明,PDF现在是由国际标准化组织(ISO)维护的开放标准。 PDF可以包含图像,链接,按钮,表单域,音频,视频和业务逻辑。它们还可以通过电子方式签名,评论和加密,并可使用免费的Acrobat Reader DC软件轻松查看。它们也可以使用Google Drive和其他软件查看。

可以专门创建PDF文件以供残障人士使用。截至2014年使用的PDF文件格式可包括标签(XML),文本等效物,标题,音频描述等.PDF / A-1a规范中需要标记PDF。某些软件可以自动生成标记的PDF,但默认情况下并不总是启用此功能。一些屏幕阅读器,包括JAWS,Window-Eyes,Hal和Kurzweil 1000和3000,可以大声读取标记的PDF,以及Acrobat和Acrobat Reader程序的更高版本。此外,标记的PDF可以为具有视觉障碍的读者重新流动和放大。

向较旧的PDF添加标签以及从扫描的文档生成标签时仍然存在问题。在这些情况下,可访问性标记和重新流动不可用,必须手动或使用OCR技术创建。某些残障人士无法访问这些流程。

资源

版本

软件(S) 发布日期
1.0 Adobe Acrobat 1.0 1993年6月1日
1.1 Adobe Acrobat 2.0 1994年11月1日
1.2 Adobe Acrobat 3.0 1996年11月1日
1.3 Adobe Acrobat 4.0 1999-04-01
1.4 Adobe Acrobat 5.0 2001-05-01
1.5 Adobe Acrobat 6.0,Adobe Reader 6.0 2003-04-01
1.6 Adobe Acrobat 7.0,Adobe Reader 7.0 2005-01-01
1.7 Adobe Acrobat 8​​.0,Adobe Reader 8.0 2006-10-01

来自pdfsharp.net的代码示例

代码源 在此处查看输出

using System;
using System.Diagnostics;
using System.IO;
using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
 
namespace HelloWorld
{
  /// <summary>
  /// This sample is the obligatory Hello World program.
  /// </summary>
  class Program
  {
    static void Main(string[] args)
    {
      // Create a new PDF document
      PdfDocument document = new PdfDocument();
      document.Info.Title = "Created with PDFsharp";
 
      // Create an empty page
      PdfPage page = document.AddPage();
 
      // Get an XGraphics object for drawing
      XGraphics gfx = XGraphics.FromPdfPage(page);
 
      // Create a font
      XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
 
      // Draw the text
      gfx.DrawString("Hello, World!", font, XBrushes.Black,
        new XRect(0, 0, page.Width, page.Height),
        XStringFormats.Center);
 
      // Save the document...
      const string filename = "HelloWorld.pdf";
      document.Save(filename);
      // ...and start a viewer.
      Process.Start(filename);
    }
  }
}
 

安装或设置

要查看PDF格式,您可以免费下载Adobe Reader 。您可以通过编程方式创建pdf,例如使用iTextSharpjsPDFPDFSharp (还有其他库可用)

用于pdf操作的PDFTK服务器

https://www.pdflabs.com/tools/pdftk-server/安装PDFTK服务器

PDFtk Server是一个命令行工具,它可以:

•    Merge PDF Documents or Collate PDF Page Scans
•    Split PDF Pages into a New Document
•    Rotate PDF Documents or Pages
•    Decrypt Input as Necessary (Password Required)
•    Encrypt Output as Desired
•    Fill PDF Forms with X/FDF Data and/or Flatten Forms
•    Generate FDF Data Stencils from PDF Forms
•    Apply a Background Watermark or a Foreground Stamp
•    Report PDF Metrics, Bookmarks and Metadata
•    Add/Update PDF Bookmarks or Metadata
•    Attach Files to PDF Pages or the PDF Document
•    Unpack PDF Attachments
•    Burst a PDF Document into Single Pages
•    Uncompress and Re-Compress Page Streams
•    Repair Corrupted PDF (Where Possible)
 

PDFtk Server不需要Adobe Acrobat或Reader,它可以在Windows,Mac OS X和Linux上运行。

整理扫描的页面

pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf
 

或者如果odd.pdf的顺序相反:

pdftk A=even.pdf B=odd.pdf shuffle A Bend-1 output collated.pdf
 

解密PDF

pdftk secured.pdf input_pw foopass output unsecured.pdf
 

使用128位强度(默认值)加密PDF,保留所有权限(默认值)

pdftk 1.pdf output 1.128.pdf owner_pw foopass
 

与上面相同,除了密码baz还必须用于打开输出PDF

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz
 

与上述相同,但允许打印(一旦PDF打开)

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing
 

将in1.pdf和in2.pdf加入到新的PDF,out1.pdf中

pdftk in1.pdf in2.pdf cat output out1.pdf
 

或(使用句柄):

pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf
 

或(使用通配符):

pdftk *.pdf cat output combined.pdf
 

从in1.pdf中删除第13页以创建out1.pdf

pdftk in.pdf cat 1-12 14-end output out1.pdf
 

要么:

pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf