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

logo

Smallpdf bei der Komprimierung ganz gross

Die Grösse einer Datei in einem E-Mail Anhang kann dazu führen, dass die E-Mail - aufgrund von technischen Beschränkungen - nicht versendet oder empfangen werden kann. Um dieses Problem zu lösen suchte Smallpdf eine Möglichkeit, um die Grösse dieser Dateien zu reduzieren.
logo

Zeit sparen dank Cloud-basierter PDF Dienste

Stetig zunehmendes Volumen des global genutzen Dienstes für das Bearbeiten und Konvertieren von PDF, erhöhte den Bedarf nach mehr Stabilität und Qualität - neue PDF-Produkte wurden benötigt, um die Vielzahl der Aufgaben schnell und in hoher Qualität zu erfüllen.
4-Heights® PDF Toolbox SDK Produktgraphik

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

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
  • 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)
PDF/A compliant

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)

HANDBÜCHER

.NET Core | Java | C/C++

REFERENZ

Java

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
Kontakt aufnehmen

Stempel zu PDF hinzufügen

Füge jeder Seite eines PDF Dokuments einen halb-transparenten Stempeltext hinzu. Optional können die Farbe und die Deckkraft des Stempels festgelegt werden.

C# sample:
// 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);
}
C# sample:
The caveats of assembling PDF/A documents

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?
The problem with embedded fonts in PDF mass printing applications

The problem with embedded fonts in PDF mass printing applications

PDF is more and more finding its way into mass printing applications. However, PDF spool files often ask too much from a print engine resulting in aborts or, even worse, incomplete prints which may not be noticed. What is special about PDF mass printing...