4-Heights® PDF Toolbox SDK - Bearbeiten, Zusammenfügen und Erstellen von PDF-Dateien in C# und Java
Das 4-Heights® PDF Toolbox SDK ist eine professionelle Bibliothek für das automatisierte PDF Erstellen, Bearbeiten und Assemblieren. Das PDF/A konforme SDK ist Plattform-unabhängig und kann auf Windows, Linux und MacOS eingesetzt werden. Dank verschiedenen Schnittstellen kann das SDK sowohl mit Java, C/C++, .NET Core und .NET Sprachen wie C# oder Visual Basic eingesetzt werden.
Formulare und Annotationen
Programmatisch Formulare erstellen, ausfüllen und extrahieren, Annotationen erstellen, ändern und extrahieren.
PDF Bearbeiten
Bilder oder Text auf PDF anbringen (Stempel/Wasserzeichen) oder vorhandener Text in PDF löschen
PDF Erstellen
PDF erstellen, von Grund auf neue Seiten mit beliebigen Inhalten erzeugen und mit vorhandenen Seiten kombinieren
Smallpdf bei der Komprimierung ganz gross
Zeit sparen dank Cloud-basierter PDF Dienste

PDF Toolbox - Funktionen
Dokumentenzusammenstellung
- Kopieren von Seiten bestehender PDF Dokumente
- Kopieren von Annotationen/Kommentaren, Formularfeldern, Links, Strukturinformationen, Lesezeichen, Sprungmarken
- Auflösen von Annotationen, Formularfeldern, Signaturen
- Ressourcenoptimierung
- Seiten zuschneiden und drehen
- Freies Zusammenstellen von Inhalten: Overlays, Underlays, Stempeln, Transformieren
- Verschlüsselung: Benutzerpasswort, Eigentümerpasswort, Berechtigungen
- Kopieren und Ändern von Dokument-Metadaten
- Kopieren und Ändern von Seiten-Metadaten
- Hinzufügen von eingebetteten Dateien und zugehörigen Dateien
- OpenAction abrufen und festlegen
Generierung
Dokument Ebene
- Seiten erstellen
- Formularfelder erstellen
- Allgemeine Textfelder und Kombi-Textfelder
- Checkboxen
- Radio Button Gruppe
- Auswahllisten
- Kombinationsfelder
- Neue Gliederungspunkte anlegen und an beliebiger Stelle im Baum einfügen
- Ziele: Benannte und direkte Ziele im gleichen Dokument
- Viewer Einstellungen konfigurieren
Seiteninhaltsebene
- Erstellen von neuen PDF Inhalten von Grund auf
- Aufbringen von Inhalt auf existierende Seiten
Farben
- RGB, CMYK und Graustufen
- ICC Farbprofile
- Transparenz: Alpha und Blend Modus
Pfade
- Linien (Single and multi-segment)
- Rechtecke, Kreise, Bézierkurven, Ellipsen
- Füllen, zeichnen, clippen und Kombinationen davon
- Linienbreite, -ende (cap), -verbindung (join), -strich (dash array, dash phase) und Gehrungsgrenze (miter limit)
- Füllregel: Nonzero winding oder Even/odd
Text
- Schriftgröße, Zeichenabstand, Wortabstand
- Horizontale Skalierung, leading, hoch stellen
- Einfaches Textlayout ermöglichen
- Standard PDF Schriften, installierte Schriften
- Fontmetriken: Italic angle, Ascent, Descent, Cap height, Character width
- Unicode Zeichen
- Textstrich: Linienbreite, Linienverbindung und Striche
- Text Füllen und Markieren, unsichtbarer Text
- Text als Beschneidungspfad verwenden
Bilder
- Bi-Level: CCITT G3, G3 2D und G4, Flate, LZW, Packbits, unkomprimiert
- 4 Bit und 8 Bit Graustufen: Flate, LZW, Packbits, JPEG und JPEG-6 (nur 8 Bit), unkomprimiert
- RGB: Flate, JPEG und JPEG-6, LZW, Packbits, unkomprimiert
Transformationen
- Übersetzung
- Skalieren
- Verzerren (Horizontal oder Vertikal)
- Rotation
Annotationen
- Web Link Annotation
- Datei Anhang Annotation
- Freitext Annotation
- Sticky Note Annotation
- Text Stempel Annotation
- Individual Stempel Annotation
- Kreis Annotation
- Quadrat Annotation
- Linien Annotation
- Polyline Annotation
- Polygon Annotation
- Freihand (“Tinte”) Annotation
Modifikation
Seiteninhalt
- Selektives Löschen von Inhaltselementen (ohne Markup)
- Geometrische Transformation von Inhaltselementen (ohne Markup)
Annotationen
- Ziel-URI von Weblink Annotation
- Standort, Erstellungs- und Modifikations-Datum, Titel, Autor und Inhalt von Markup Annotationen
Fomularfelder
- Löschen von Feldern und Ändern von Feldwerten für
- allgemeine Textfelder und Kombi-Textfelder
- Checkboxen
- Radio Button Gruppe
- Auswahllisten
- Kombinationsfelder
- Löschen von Feldern und Ändern von Feldwerten für
Extrahieren
Dokument und Seiten
- Dokumentinformationen: Titel, Autor, Betreff, Schlagwörter, Ersteller, Produzent, Erstellungsdatum, Änderungsdatum
- Dokument XMP Metadaten
- Einstellungen zur Verschlüsselung des Dokuments
- Eingebettete Dateien
- Seiten Bounding-Boxen: Media box, Crop box, Bleed box, Trim box, Art box
- Seite XMP Metadaten
- Outline Item Baum: Baum Struktur, Titel, auf-/zugeklappt
- Destinationen: Named und direkte Destinationen im selben Dokument
- Viewer Einstellungen
Inhalt
- Inhaltselemente der Seiten und Group-Elemente, einschließlich der folgenden Attribute
- Begrenzungsbox
- Affine Transformation
- Extrahierte Elementtypen:
- Group-Element
- Bildelement
- Breite und Höhe in Pixel
- Bits pro Farbkomponente
- Farbraum
- Bildmaskenelement
- Breite und Höhe in Pixel
- Farbe zum Füllen der Maske
- Pfadelement
- Ausrichtungsbox
- Füllparameter einschließlich Farbe und Füllregel
- Strichparameter einschließlich Linienfarbe und Linienstil
- Shading-Element
- Textelement
- Textfragmente
- Begrenzungsbox
- Affine Transformation
- Unicode String
- Füllparameter einschließlich Farbe und Füllregel
- Strichparameter einschließlich Linienfarbe und Linienstil
- Textfragmente
- Inhaltselemente der Seiten und Group-Elemente, einschließlich der folgenden Attribute
Annotationen
- Annotationen: Standort
- Markup Annotationen: Typ, Ort, Erstellungs- und Modifikationsdatum, Titel, Autor, Inhalt
- Individuelle Stempel Annotation: Darstellung
- Link Annotation: Standort, Ziel Destination oder URI
- Signaturfelder: Name, Standort, Grund, Kontaktinformationen, Datum, Sichtbarkeit
AcroForm Formularfelder
- Formularfeldbezeichner, Exportnamen und Benutzernamen, einschließlich Formularfeldhierarchie
- Formularfeld-Export und Anzeige des Inhalts von:
- Drucktasten
- Checkboxen
- Radio Button Gruppe
- Allgemeine Textfelder und Kombi-Textfelder
- Auswahllisten
- Kombinationsfelder
Conformance
- ISO 32000-1 (PDF 1.7)
- ISO 32000-2 (PDF 2.0)
- ISO 19005-1 (PDF/A-1)
- ISO 19005-2 (PDF/A-2)
- ISO 19005-3 (PDF/A-3)
Unterstützte Formate
Supported PDF Formats
- PDF 1.0 to 1.7
- PDF 2.0
- PDF/A-1, PDF/A-2, PDF/A-3
Supported image formats
- BMP
- DIB
- JPEG
- JPEG2000
- JBIG2
- PNG
- GIF
- TIFF
Supported Font Formats
- Type1
- TrueType
- OpenType
- OpenType (CFF)

Einsatzbereiche - Bearbeiten und zusammenstellen von PDF Dokumenten
PDF Erstellen und Bearbeiten
Nutzen Sie die 3-Heights™ PDF Toolbox zum PDF Dateien in Ihrer Programmiersprache (Java, C#, Visual Basic, C/C++) erstellen, editieren und assemblieren. Bewahren Sie die PDF/A Konformität und erstellen Sie PDF Dokumente in Massenverarbeitung, wobei die Inhalte aus beliebigen Quellen stammen können, wie z. B. einer Datenbank oder einem Webseitenformular.
Personalisierung
PDF Dokumente werden für den Vertrieb von E-Books verwendet sowie für das Erstellen von Rechnungen, Verträgen und Bedingungen u. a. in Versicherungsanträgen. Diese Dokumente haben alle eine gemeinsame Anforderung: Sie müssen um empfängerspezifische Informationen ergänzt werden.
Automatisierte Berichterstellung
Grosse Informationsmengen werden auf Datenbank- und DMS-Systemen gespeichert. Die PDF Toolbox eignet sich, um diese Informationen entgegen zu nehmen und daraus verteilbare und standardisierte PDF Dokumente zu erstellen. Somit wird auch die Distribution über Infrastrukturen mit verschiedensten Technologien und Betriebssystemen ermöglicht.
Weitere Einsatzgebiete
- Erzeugung von benutzerdefinierten Dokumenten wie Angebote, Policendossiers etc.
- Massenerzeugung von Rechnungen, Berichten usw.
- PDF Erzeugung „on-the-fly“ in Webserveranwendungen
- „Save as PDF/A“ Funktion in Anwenderprogrammen
- Importieren von Bildern und Texten in PDF/A Dokumente
// Open input document
using (Stream inStream = new FileStream(inPath, FileMode.Open, FileAccess.Read))
using (Document inDoc = Document.Open(inStream, null))
// Create output document
using (Stream outStream = new FileStream(outPath, FileMode.Create, FileAccess.ReadWrite))
using (Document outDoc = Document.Create(outStream, inDoc.Conformance, null))
{
// Copy document-wide data
CopyDocumentData(inDoc, outDoc);
font = Font.CreateFromSystem(outDoc, "Arial", "Italic", true);
// Get the color space
ColorSpace colorSpace = ColorSpace.CreateProcessColorSpace(outDoc, ProcessColorSpaceType.Rgb);
// Choose the RGB color value
double[] color = { 1.0, 0.0, 0.0 };
Transparency transparency = new Transparency(alpha);
// Create paint object with the choosen RGB color
paint = Paint.Create(outDoc, colorSpace, color, transparency);
// Define copy options
PageCopyOptions copyOptions = new PageCopyOptions();
// Copy all pages from input document
foreach (Page inPage in inDoc.Pages)
{
// Copy page from input to output
Page outPage = Page.Copy(outDoc, inPage, copyOptions);
// Add text to page
AddStamp(outDoc, outPage, stampString);
// Add page to document
outDoc.Pages.Add(outPage);
}
}
private static void CopyDocumentData(Document inDoc, Document outDoc)
{
// Copy document-wide data
// Output intent
if (inDoc.OutputIntent != null)
outDoc.OutputIntent = IccBasedColorSpace.Copy(outDoc, inDoc.OutputIntent);
// Metadata
outDoc.Metadata = Metadata.Copy(outDoc, inDoc.Metadata);
// Viewer settings
outDoc.ViewerSettings = ViewerSettings.Copy(outDoc, inDoc.ViewerSettings);
// Associated files (for PDF/A-3 and PDF 2.0 only)
FileReferenceList outAssociatedFiles = outDoc.AssociatedFiles;
foreach (FileReference inFileRef in inDoc.AssociatedFiles)
outAssociatedFiles.Add(FileReference.Copy(outDoc, inFileRef));
// Plain embedded files
FileReferenceList outEmbeddedFiles = outDoc.PlainEmbeddedFiles;
foreach (FileReference inFileRef in inDoc.PlainEmbeddedFiles)
outEmbeddedFiles.Add(FileReference.Copy(outDoc, inFileRef));
}
private static void AddStamp(Document outputDoc, Page outPage, string stampString)
{
// Create content generator and text object
using ContentGenerator gen = new ContentGenerator(outPage.Content, false);
Text text = Text.Create(outputDoc);
// Create text generator
using (TextGenerator textgenerator = new TextGenerator(text, font, fontSize, null))
{
// Calculate point and angle of rotation
Point rotationCenter = new Point
{
X = outPage.Size.Width / 2.0,
Y = outPage.Size.Height / 2.0
};
double rotationAngle = Math.Atan2(outPage.Size.Height,
outPage.Size.Width) / Math.PI * 180.0;
// Rotate textinput around the calculated position
AffineTransform trans = AffineTransform.Identity;
trans.Rotate(rotationAngle, rotationCenter);
gen.Transform(trans);
// Calculate position
Point position = new Point
{
X = (outPage.Size.Width - textgenerator.GetWidth(stampString)) / 2.0,
Y = (outPage.Size.Height - font.Ascent * fontSize) / 2.0
};
// Move to position
textgenerator.MoveTo(position);
// Set text paint
textgenerator.Fill = paint;
// Add given stamp string
textgenerator.ShowLine(stampString);
}
// Paint the positioned text
gen.PaintText(text);
}

The caveats of assembling PDF/A documents
Assembling PDF documents from various sources is a crucial part of an output management system. And, as the document needs to be archived in most cases, it should conform to the PDF/A standard. Is there a way to assemble a document and accomplish PDF/A conformance in one step?