Sonntag, Dezember 8, 2019

Erstellen Sie ein Bild oder PdfTemplate aus einer PDF-Datei

Während der Verwendung der itextsharp-Bibliothek zur Erzeugung von pdf-Dokumenten, stieß ich auf diese Methode:-

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(itextsharp.text.pdf.PdfTemplate);

Wo wir bekommen können Bild-Beispiel aus einem PdfTemplate. Aber, ich weiß nicht, wie man erstellen Sie eine PdfTemplate und es gibt keinen Konstruktor der Einnahme einer pdf-Datei Namen oder den stream.

Warum ich will, ist dies: ich möchte ein Bild aus einer PDF-Datei und dann isert dieses Bild in einer anderen pdf-Datei.

Jemand weiß, wie man erstellen Sie PdfTemplate Objekt ?

InformationsquelleAutor teenup | 2011-09-02

1 Kommentar

  1. 6

    Den PdfTemplate leider nicht genau das, was Sie denken, es ist. iText und iTextSharp PDF-Generatoren, aber nicht der PDF-Renderer, die ist, was würden Sie brauchen, um konvertieren von PDF zu einem image.

    Dieser sagte, können Sie immer noch Ihr Ziel zu erreichen, abhängig von der Qualität, die Sie suchen.

    Einer der häufigsten Verwendungen von PdfTemplate ist die Unterklasse PdfImportedPage. Wenn Sie erstellen ein Image aus einer PdfImportedPage wird nicht erstellen Sie eine JPG-oder PNG oder alles raster, die Sie tatsächlich haben eine vollständige version von Ihrer Seite, eingehüllt in eine Image Objekt. Was dies bedeutet ist, dass Sie anwenden können, verwandelt wie ScaleAbsolute() oder was auch immer Sie wollen, aber wenn Sie es hinzufügen, um die Ausgabe von PDF-jeder text wird immer noch wahr sein text (und damit wählbar). Dies ist der Teil, wo die Qualität kommt in. Wenn Sie beginnen, die Skalierung der Image es (mathematisch) Skala perfekt, aber optisch machen könnte unvollkommen in so etwas wie den Adobe Reader. Wenn Sie zoom-in es wird in Ordnung sein, aber viele Bildschirm-Programme nicht dargestellt werden können kleine Typ, der gut. Ob dies ein Problem für Sie oder nicht, weiß ich nicht.

    Jedenfalls, der code unten ist eine voll funktionsfähige Probe gezielt iTextSharp 5.1.1.0. Es liest eine Seite einer vorhandenen PDF-Datei, Skalen es sich um 50% und fügt Sie zu einer PDF-Ausgabe.

    using System;
    using System.ComponentModel;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using iTextSharp.text.pdf;
    using iTextSharp.text;
    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    //PDF file to pull the first page from
    string inputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Input.pdf");
    //PDF file to output
    string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Output.pdf");
    using (FileStream fs = new FileStream(outputFile, FileMode.Create, FileAccess.Write, FileShare.None))
    {
    using (Document doc = new Document())
    {
    using (PdfWriter w = PdfWriter.GetInstance(doc, fs))
    {
    //Open our PDF for writing
    doc.Open();
    //We need a reader to pull pages from
    PdfReader r = new PdfReader(inputFile);
    //Get the first page of our source PDF
    PdfImportedPage importedPage = w.GetImportedPage(r, 1);
    //Insert a new page into our output PDF
    doc.NewPage();
    //Create an Image from the imported page
    iTextSharp.text.Image Img = iTextSharp.text.Image.GetInstance(importedPage);
    //Just to show why we are using an Image, scale the Image to 50% width and height of the original page
    Img.ScaleAbsolute(importedPage.Width / 2, importedPage.Height / 2);
    //Add the Image to the page
    doc.Add(Img);
    //Close our output PDF
    doc.Close();
    }
    }
    }
    this.Close();
    }
    }
    }
    • Seine sehr frustating, dass wir nicht alle Unterlagen für itextsharp. Vielen Dank.
    • iTextSharp ist eine Portierung der Java-Bibliothek iText die Unmengen an Dokumentation. Wenn Sie nicht finden können, ein Ergebnis der Suche mit „itextsharp“ versuchen Sie es nur mit „itext“, Sie werden sehen, eine Menge Ergebnisse, die in der Regel, einschließlich der ein ganzes Buch gewidmet. Ansonsten, wenn ich eine Frage habe, die ich in der Regel nur Sie die Quelle. itextsharp.svn.sourceforge.net

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...