Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit vb.net und itextsharp formatierten Text aus übergebenem String in bestehendes PDF einfügen

Frage Entwicklung Visual Studio

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

05.09.2014, aktualisiert 23.09.2014, 1784 Aufrufe, 1 Kommentar, 1 Danke

Hallo,

ich würde gerne den Inhalt einer (mehrerer, wenn es mit einer klappt, gehen dann sicherlich auch mehr...) String-Variablen in eine bestehende PDF-Vorlage einfügen. Inhalt der String-Variablen ist Text MIT Zeilenumbrüchen.

Mit einem "Stamper" hab ich es versucht, der will aber (mit meinem Code? s.u.) irgendwie die Zeilenumbrüche nicht berücksichtigen...

01.
Imports System 
02.
Imports System.IO 
03.
Imports iTextSharp.text 
04.
Imports iTextSharp.text.pdf 
05.
 
06.
 
07.
 
08.
Public Sub InfoPDFErstellenVonVorlageXX(ByRef strType As String, ByRef strAusgabePfad As String, _ 
09.
                                          ByRef strText01 As String, Optional ByRef strText02 As String = Nothing, _ 
10.
                                          Optional ByRef strText03 As String = Nothing, Optional ByRef strText04 As String = Nothing) 
11.
 
12.
        Dim pdffont1 As New iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.NORMAL, BaseColor.BLACK) 
13.
        Dim pdffont2 As New iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.NORMAL, BaseColor.BLACK) 
14.
        Dim pdffont3 As New iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.NORMAL, BaseColor.BLACK) 
15.
        Dim pdffont4 As New iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.NORMAL, BaseColor.BLACK) 
16.
 
17.
        Dim strVorlagenDatei As String = Nothing 
18.
 
19.
        Select Case strType 
20.
            Case "typ1" 
21.
                strVorlagenDatei = strMyPathMailInfo 
22.
            Case "typ2" 'Nacharbeiten 
23.
                Exit Sub 
24.
        End Select 
25.
 
26.
        Try 
27.
 
28.
            Using inputPdfStream As Stream = New FileStream(strVorlagenDatei, FileMode.Open, FileAccess.Read, FileShare.Read) 
29.
                Using outputPdfStream As Stream = New FileStream(strAusgabePfad, FileMode.Create, FileAccess.Write, FileShare.None) 
30.
 
31.
                    Dim reader = New PdfReader(inputPdfStream) 
32.
                    Dim stamper = New PdfStamper(reader, outputPdfStream) 
33.
                    Dim pdfContentByte = stamper.GetOverContent(1) 
34.
 
35.
 
36.
                    Dim pageWidth As Single = reader.GetPageSize(1).Width 
37.
                    Dim pageHeight As Single = reader.GetPageSize(1).Height 
38.
 
39.
 
40.
                    Dim XPos As Single = 45 
41.
                    Dim YPos As Single = (pageHeight) - 200 
42.
 
43.
                    Dim canvas1 As PdfContentByte = stamper.GetOverContent(1) 
44.
                    ColumnText.ShowTextAligned(canvas1, Element.ALIGN_LEFT, New Phrase(strText01, pdffont1), XPos, YPos, 0) 
45.
 
46.
                    If strText02 <> Nothing Then 
47.
                        Dim canvas2 As PdfContentByte = stamper.GetOverContent(1) 
48.
                        XPos = 20 
49.
                        YPos = (pageHeight) - 300 
50.
                        ColumnText.ShowTextAligned(canvas2, Element.ALIGN_LEFT, New Phrase(strText02, pdffont1), XPos, YPos, 0) 
51.
                    End If 
52.
                    If strText03 <> Nothing Then 
53.
                        Dim canvas3 As PdfContentByte = stamper.GetOverContent(1) 
54.
                        XPos = 20 
55.
                        YPos = (pageHeight) - 400 
56.
                        ColumnText.ShowTextAligned(canvas3, Element.ALIGN_LEFT, New Phrase(strText03, pdffont1), XPos, YPos, 0) 
57.
                    End If 
58.
                    If strText04 <> Nothing Then 
59.
                        Dim canvas4 As PdfContentByte = stamper.GetOverContent(1) 
60.
                        XPos = 20 
61.
                        YPos = (pageHeight) - 500 
62.
                        ColumnText.ShowTextAligned(canvas4, Element.ALIGN_LEFT, New Phrase(strText04, pdffont1), XPos, YPos, 0) 
63.
                    End If 
64.
 
65.
                    stamper.Close() 
66.
                    reader.Close() 
67.
                End Using 
68.
            End Using 
69.
 
70.
        Catch ex As Exception 
71.
 
72.
        End Try 
73.
 
74.
    End Sub
Kann mir jemand helfen?

Neugierige Grüße,
Andreas
Mitglied: colinardo
LÖSUNG 05.09.2014, aktualisiert 23.09.2014
Moin Andreas,
bin jetzt nicht so firm mit iTextSharp, aber für Text mit Zeilennumbrüchen ist ein ColumnText-Objekt besser geeignet, da es mit Zeilenumbrüchen umgehen kann:
http://stackoverflow.com/questions/15165357/centered-multiline-text-usi ...
ansonsten musst du deinen Text an den Zeilenumbrüchen splitten und mit einer Schleife untereinander schreiben:
http://stackoverflow.com/questions/3992617/itextsharp-insert-text-to-an ...

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Vb.net raw string in xdocument einfügen
gelöst Frage von Herbrich19Visual Studio6 Kommentare

Hallo, Ich würde gerne in ein Xdokument ein Raw String einfügen was ebenfalls auch XML besteht. Ziel ist es ...

Visual Studio
HTML (aus Filesystem) to PDF mit itextsharp in vb.net
gelöst Frage von ahstaxVisual Studio2 Kommentare

Hallo miteinander, ich versuche, mit iTextSharp (V 5.4.4.0) eine HTML-Datei, die im Dateisystem gespeichert ist, in ein PDF umzuwandeln. ...

Basic
Mit vb.net PDF in Word-Dok einfügen
gelöst Frage von ahstaxBasic10 Kommentare

Hallo, Ich suche Hinweise und Beispiele, wie man mit einem vb.net-Programm alle Seiten eines PDF-Doks in ein Word-Dok einfügen ...

JavaScript
Zeilen Umbruch in bereits bestehenden Text "Einfügen" JavaScript
gelöst Frage von DomiZone1JavaScript2 Kommentare

hallo heute mal wieder ein wunderbares Thema :D ich wollte eine Funktion schreiben die es mir ermöglicht ohne viel ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 13 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 14 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 21 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...