Empezando con pdf
Instalación o configuración
Para ver un pdf puede descargar Adobe Reader gratis . Puede crear archivos PDF mediante programación con la ayuda de, por ejemplo, usando iTextSharp, jsPDF o PDFSharp (hay otras bibliotecas disponibles)
Servidor PDFTK para manipulación de pdf
Instale el servidor PDFTK desde https://www.pdflabs.com/tools/pdftk-server/
PDFtk Server es una herramienta de línea de comandos que puede:
• 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 no requiere Adobe Acrobat o Reader, y se ejecuta en Windows, Mac OS X y Linux.
Intercalar páginas escaneadas
pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf
o si odd.pdf está en orden inverso:
pdftk A=even.pdf B=odd.pdf shuffle A Bend-1 output collated.pdf
Descifrar un PDF
pdftk secured.pdf input_pw foopass output unsecured.pdf
Cifrar un PDF con una potencia de 128 bits (valor predeterminado), retener todos los permisos (valor predeterminado)
pdftk 1.pdf output 1.128.pdf owner_pw foopass
Igual que arriba, excepto que también se debe usar la contraseña baz para abrir el PDF de salida
pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz
Igual que arriba, excepto que se permite la impresión (una vez que el PDF está abierto)
pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing
Unir in1.pdf e in2.pdf en un nuevo PDF, out1.pdf
pdftk in1.pdf in2.pdf cat output out1.pdf
o (usando manijas):
pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf
o (usando comodines):
pdftk *.pdf cat output combined.pdf
Elimine la página 13 de in1.pdf para crear out1.pdf
pdftk in.pdf cat 1-12 14-end output out1.pdf
o:
pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf
Ejemplo de código de pdfsharp.net
Fuente del código Ver el resultado aquí
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);
}
}
}