itextsharp visible border

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von razzzer530i.

    itextsharp visible border

    Moin,

    anbei ne kleine Frage:

    VB.NET-Quellcode

    1. Using stamper As New PdfStamper(New PdfReader(pd.FullName), File.Create("PDFNAME"))
    2. Dim tf As New TextField(stamper.Writer, New iTextSharp.text.Rectangle(250, 800, 290, 825), "ID")
    3. stamper.AddAnnotation(tf.GetTextField(), 1)
    4. Dim tx As AcroFields = stamper.AcroFields
    5. tx.SetField("ID", pd.Name.Replace(pd.Extension, ""))
    6. stamper.Close()
    7. End Using
    8. Dim newfile As String = "pfad" & pd.Name
    9. Dim pdfreader As New PdfReader("pfad" & pd.Name)
    10. Dim pdfstamper As New PdfStamper(pdfreader, New FileStream(newfile, FileMode.Create))
    11. Dim pdfformatfields As AcroFields = pdfstamper.AcroFields
    12. pdfformatfields.SetField("ID", pd.Name.Replace(pd.Extension, ""))
    13. pdfstamper.Close()
    14. pdfreader.Close()


    Wie ich es drehe und wende, bekomme ich es nicht hin, dieses rectangle so zu modifizieren, dass es einen sichtbaren Rahmen hat....

    auch wenn ich das rectangle vorher definiere:

    VB.NET-Quellcode

    1. Dim rawithborder As New Rectangle(100, 100, 100, 100)
    2. rawithborder.Border = iTextSharp.text.Rectangle.BOTTOM_BORDER
    3. rawithborder.Border = iTextSharp.text.Rectangle.LEFT_BORDER
    4. rawithborder.Border = iTextSharp.text.Rectangle.RIGHT_BORDER
    5. rawithborder.Border = iTextSharp.text.Rectangle.TOP_BORDER
    6. rawithborder.BorderWidth = 5

    bringt das nix.

    dann gibt es ja noch die möglichkeit

    VB.NET-Quellcode

    1. Dim tf As New TextField(stamper.Writer, New iTextSharp.text.Rectangle(250, 800, 290, 825), "ID")
    2. tf.borderstyle=borderstyle.single
    3. tf.borderwidth=5


    Was auch nicht funktioniert. Wie kriege ich diesen Mist gezeichnet? :D
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~
    @razzzer530i Sorry, aber ich bin wieder mal der einzige hier, der Deine DLLS / Klassen PdfStamper, PdfReader, iTextSharp nicht kennt. ;(
    Woher kriegt man, die, was machen die?
    Was soll Dein Programm dazu bewegen, das zu tun, was es offensichtlich nicht tut?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    PDFStamper, PDFReader und iTextSharp ist quasi alles iTextSharp.
    Mit iTextSharp kann man so ziemlich alles mit einer PDF anstellen.

    Findet man hier:
    sourceforge.net/projects/itextsharp/

    Dazu gibt es noch eine Entwicklerseite von iText:
    developers.itextpdf.com/itext-7

    Mit der Reader-Klasse lese ich die PDF ein, die ich verarbeiten möchte.
    Mit der Stamper Klasse kann man Objekte erzeugen. Z.B. textboxen oder auswahlboxen. Die spiegeln quasi die Editorfunktion des Acrobat Pro.
    Man kann mit itextsharp auch PDFs von grund auf neu aufbauen und strukturieren.

    Ich erzeuge hier mit dem Stamper ein Rechteck welches ich als Textfeld deklariere.
    Dann schreibe ich mit setfield text in das Textfeld.

    Benötige das ganze für Dokumente, denen ich eine eindeutige Nummer und einen Eingangsstempel vergebe.


    Mit der Bordereigenschaft defeniere ich den Rand des Rechtecks. Funktioniert auch einwandfrei wenn man mit der Maus auf das Textfeld geht. Aber ich möchte, dass der Rahmen dauerhaft zu sehen ist und das klappt nicht so ganz. Den Grund dafür verstehe ich aber nicht.

    Das ganze sieht dann z.B. so aus:

    Originales eingegangenes dokument:


    Nach dem Stamper:



    Wenn das Dokument ausgedruckt wird sieht man die Hintergrundfarbe vom Textfeld nicht. Bei dem 2. Textfeld(2 zusammengesetzte) habe ich die Hintergrundfarbe auf ein helles Grau umgestellt, sodass es aussieht wie ein Stempel. Erst auf einem Druck zu erkennen.

    Wenn du Interesse daran haben solltest kann ich dir ein bisschen helfen.


    Könnte bei Bedarf auch ein kleines tut schreiben. Alles über itextsharp weiß ich leider nicht. Daher bin ichmir nicht sicher was das bringt.

    Mit itextsharp kann man auch PDF Eigenschaften auslesen.

    Habe z.B. Kataloge als PDFs. Bei solch einer Datei wird ja standartmäßig:
    Erstelldatum der Datei
    Letztes Bearbeitungsdatum
    Letztes Verwendungsdatum
    gespeichert.

    Um aber z.B. auf einer Webseite das wirkliche Erstelldatum und die Eigenschaften des Autors herauszufinden und darzustellen,
    habe ich ein tool geschrieben was recht gut funktioniert.

    Da kann man direkt mal tausende Dokumente auswerten.
    Habe das ganze damals leider in einer Listbox gemacht und nicht in einem DGW was ich besser hätte machen sollen.
    War so ziemlich das erste was ich gemacht habe und sieht dann so aus:
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „razzzer530i“ ()