Débuter avec pdf

Installation ou configuration

Pour afficher un pdf, vous pouvez [télécharger Adobe Reader gratuitement][1] . Vous pouvez créer des fichiers PDF par programme à l’aide de, par exemple en utilisant [iTextSharp][2], [jsPDF][3] ou [PDFSharp][4] (il existe d’autres bibliothèques disponibles)

[1] : https://get.adobe.com/reader/ [2] : http://sourceforge.net/projects/itextsharp/ [3] : https://github.com/MrRio/jsPDF [4] : http://pdfsharp.codeplex.com/

Serveur PDFTK pour la manipulation de PDF

Installez PDFTK Server à partir de https://www.pdflabs.com/tools/pdftk-server/

PDFtk Server est un outil en ligne de commande qui peut :

•    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 ne nécessite pas Adobe Acrobat ou Reader, et il fonctionne sous Windows, Mac OS X et Linux.

Assembler les pages numérisées

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

ou si impair.pdf est dans l’ordre inverse :

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

Décrypter un PDF

pdftk secured.pdf input_pw foopass output unsecured.pdf

Crypter un PDF en utilisant une force de 128 bits (valeur par défaut), refuser toutes les autorisations (valeur par défaut)

pdftk 1.pdf output 1.128.pdf owner_pw foopass

Comme ci-dessus, sauf que le mot de passe baz doit également être utilisé pour ouvrir le PDF de sortie

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

Comme ci-dessus, sauf que l’impression est autorisée (une fois le PDF ouvert)

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

Joindre in1.pdf et in2.pdf dans un nouveau PDF, out1.pdf

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

ou (à l’aide des poignées) :

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

ou (en utilisant des caractères génériques) :

pdftk *.pdf cat output combined.pdf

Supprimer la page 13 de in1.pdf pour créer out1.pdf

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

ou:

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

Exemple de code de pdfsharp.net

[Code source][1] [Voir la sortie ici][2]

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);
    }
  }
}

[1] : http://www.pdfsharp.net/wiki/HelloWorld-sample.ashx [2] : http://www.pdfsharp.net/wiki/GetFile.aspx?File=%2FHelloWorld%2FHelloWorld.pdf