Hallo,
bin dabei mit iTextSharp ein eine PDF-Datei (Etikett) zu generieren und dann mit bestimmten Einstellungen für den Etikettendrucker drucken zu lassen.Die PDF wird erfolgreich generiert, jedoch weiß ich nicht wie ich es hinbekomme diese auch gleich drucken zu lassen mit bestimmten Druckeinstellungen (z.b. Länge). Die PDF wird nicht abgespeichert sondern nur für den Browser generiert.
Ich stell mir das so vor:
Button "Jetzt Drucken" wird geklickt -> PDF wird generiert -> an Drucker XY mit Druckeinstellungen Länge = 3cm gesenden -> Drucken
Hier mein Code bist jetzt (habe einige Dinge rausgelassen wie z.B. Datenbank auslesen)
Hoffe ihr könnt mir helfen, hab einen Tag lang gegooglet und nichts gefunden wie es gehen könnte
Mfg
bin dabei mit iTextSharp ein eine PDF-Datei (Etikett) zu generieren und dann mit bestimmten Einstellungen für den Etikettendrucker drucken zu lassen.Die PDF wird erfolgreich generiert, jedoch weiß ich nicht wie ich es hinbekomme diese auch gleich drucken zu lassen mit bestimmten Druckeinstellungen (z.b. Länge). Die PDF wird nicht abgespeichert sondern nur für den Browser generiert.
Ich stell mir das so vor:
Button "Jetzt Drucken" wird geklickt -> PDF wird generiert -> an Drucker XY mit Druckeinstellungen Länge = 3cm gesenden -> Drucken
Hier mein Code bist jetzt (habe einige Dinge rausgelassen wie z.B. Datenbank auslesen)
VB.NET-Quellcode
- Imports iTextSharp.text
- Imports iTextSharp.text.pdf
- Imports System.IO
- Imports System.Web.UI.WebControls
- Imports System
- Imports System.Object
- Imports System.Data
- Imports System.Data.SqlClient
- Imports System.Drawing
- Imports System.Drawing.Printing
- Partial Class _Default
- Inherits System.Web.UI.Page
- Dim Verbindung As String
- Dim myRowData As DataRow
- Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
- Response.Buffer = True
- Response.Clear()
- Response.ClearContent()
- Response.ClearHeaders()
- Response.ContentType = "application/pdf"
- 'Die Größe des PDF-Dokuments setzt sich aus points zusammen. Dabei gilt 72 points = 1 inch = 2,54 cm
- Dim Document As New Document(New iTextSharp.text.Rectangle(176.0F, 69.0F), 0, 0, 0, 0)
- Dim Writer As PdfWriter
- Writer = PdfWriter.getInstance(Document, Response.OutputStream)
- 'Daten aus Datenbank holen, um sie in der PDF anzuzeigen
- 'ausgeblendet
- Try
- Document.Open()
- 'Erzeuge Tabelle
- Dim Tabelle1 As PdfPTable
- Tabelle1 = New PdfPTable(2)
- Dim Logo As PdfPCell
- 'Größe der Tabelle definieren
- Tabelle1.WidthPercentage = 100
- Tabelle1.DefaultCell.Border = 0
- Tabelle1.DefaultCell.FixedHeight = Document.PageSize.Height / 2
- 'Anordnung innerhalb der Zellen definieren
- Tabelle1.DefaultCell.VerticalAlignment = Element.ALIGN_MIDDLE
- Tabelle1.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER
- 'Deklarieren des Images
- Dim img As iTextSharp.text.Image = iTextSharp.text.Image.getInstance("C:\Documents ..\logo.jpg")
- img.scaleToFit(85.0F, 22.0F)
- 'Zelle oben links
- Logo = New PdfPCell(img)
- Logo.VerticalAlignment = Element.ALIGN_MIDDLE
- Logo.HorizontalAlignment = Element.ALIGN_CENTER
- Logo.Border = Tabelle1.DefaultCell.Border
- Tabelle1.addCell(Logo)
- 'Zelle oben rechts
- Dim phBarcode As Phrase
- Dim fntBarcode As iTextSharp.text.Font
- Dim bfBarcode As BaseFont
- bfBarcode = BaseFont.createFont("C:\..\IDAutomationHC39M.ttf", BaseFont.CP1252, True)
- fntBarcode = New iTextSharp.text.Font(bfBarcode, 10, iTextSharp.text.Font.NORMAL)
- phBarcode = New Phrase("1234", fntBarcode)
- Dim cellBarcode As New PdfPCell(phBarcode)
- cellBarcode.VerticalAlignment = Element.ALIGN_MIDDLE
- cellBarcode.HorizontalAlignment = Tabelle1.DefaultCell.HorizontalAlignment
- cellBarcode.FixedHeight = Tabelle1.DefaultCell.FixedHeight
- cellBarcode.Border = Tabelle1.DefaultCell.Border
- Tabelle1.addCell(cellBarcode)
- Tabelle1.DefaultCell.VerticalAlignment = Element.ALIGN_TOP
- Tabelle1.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER
- 'Zelle unten links
- Dim phSN1 As Phrase
- Dim phDate1 As Phrase
- Dim para3 As Paragraph = New Paragraph
- Dim fntBoldText1 As iTextSharp.text.Font = FontFactory.getFont("Arial", 12, iTextSharp.text.Font.BOLD)
- Dim fntSmallText1 As iTextSharp.text.Font = FontFactory.getFont("Arial", 10, iTextSharp.text.Font.NORMAL)
- phSN1 = New Phrase("HOST " + Constants.vbNewLine, fntBoldText1)
- phDate1 = New Phrase("Bezeichnung", fntSmallText1)
- para3.Add(phSN1)
- para3.Add(phDate1)
- Tabelle1.addCell(para3)
- 'Zelle unten rechts (Serial Nummer)
- Dim phSN As Phrase
- Dim phDate As Phrase
- Dim para4 As Paragraph = New Paragraph
- Dim fntSmallText As iTextSharp.text.Font = FontFactory.getFont("Arial", 8, iTextSharp.text.Font.NORMAL)
- phSN = New Phrase("S/N: " + "SerienNR" + Constants.vbNewLine, fntSmallText)
- phDate = New Phrase("Datum", fntSmallText)
- para4.Add(phSN)
- para4.Add(phDate)
- Tabelle1.addCell(para4)
- Document.Add(Tabelle1)
- Finally
- Document.Close()
- End Try
- End Sub
- End Class
Hoffe ihr könnt mir helfen, hab einen Tag lang gegooglet und nichts gefunden wie es gehen könnte
Mfg
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „biowarrior“ ()