Hallo zusammen,
ich muss mich an euch wenden, da ich einfach nicht weiter komme.
Mittels folgendem Programm kopiere ich eine Datei die per DragDrop auf die Form gezogen wird:
In der anderen Form (FileConvert_Posteingang_01) soll dann folgendes passieren:
1. ist es PDF soll es zu Tiff gewandelt werden
2. Posteinfangsstempel in das Tif zeichnen
zu 1 (dazu per NuGet das Spire.PDF installiert):
dazugehörige Unter-Subs:
Spoiler anzeigen
zu 2 (Posteingangsstempel in Tiff zeichnen):
Bis zum markierten Fehler scheint alles gut zu laufen, aber dann kommt die Fehlermeldung: System.Runtime.InteropServices.ExternalException: "Allgemeiner Fehler in GDI+."
Als Anlage habe ich n Bild aus Fehlerdetails angehängt... InnerException ist Nothing...
Allgemeiner Fehler kann nun für mich erst mal alles sein, da ich zum ersten mal mit Tiff's und Graphics arbeite.
Vielleicht hat einer eine gute Idee? Oder fällt jemanden Fehler auf die ich gemacht habe?
Für Rückantworten wäre ich sehr dankbar...
Viele Grüße
Michl
*Topic verschoben*
ich muss mich an euch wenden, da ich einfach nicht weiter komme.
Mittels folgendem Programm kopiere ich eine Datei die per DragDrop auf die Form gezogen wird:
In der anderen Form (FileConvert_Posteingang_01) soll dann folgendes passieren:
1. ist es PDF soll es zu Tiff gewandelt werden
2. Posteinfangsstempel in das Tif zeichnen
zu 1 (dazu per NuGet das Spire.PDF installiert):
VB.NET-Quellcode
dazugehörige Unter-Subs:
VB.NET-Quellcode
- Private Function SaveAsImage(ByVal document As PdfDocument) As Image()
- Dim images As Image() = New Image(document.Pages.Count - 1) {}
- For i As Integer = 0 To document.Pages.Count - 1
- images(i) = document.SaveAsImage(i)
- Next
- Return images
- End Function
- Private Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo
- Dim encoders As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()
- For j As Integer = 0 To encoders.Length - 1
- If encoders(j).MimeType = mimeType Then Return encoders(j)
- Next
- Throw New System.Exception(mimeType & " mime type not found in ImageCodecInfo")
- End Function
- Private Sub JoinTiffImages(ByVal images As Image(), ByVal outFile As String, ByVal compressEncoder As EncoderValue)
- Dim enc As Encoder = Encoder.SaveFlag
- Dim ep As EncoderParameters = New EncoderParameters(2)
- ep.Param(0) = New EncoderParameter(enc, CLng(EncoderValue.MultiFrame))
- ep.Param(1) = New EncoderParameter(Encoder.Compression, CLng(compressEncoder))
- Dim pages As Image = images(0)
- Dim frame As Integer = 0
- Dim info As ImageCodecInfo = GetEncoderInfo("image/tiff")
- For Each img As Image In images
- If frame = 0 Then
- pages = img
- pages.Save(outFile, info, ep)
- Else
- ep.Param(0) = New EncoderParameter(enc, CLng(EncoderValue.FrameDimensionPage))
- pages.SaveAdd(img, ep)
- End If
- If frame = images.Length - 1 Then
- ep.Param(0) = New EncoderParameter(enc, CLng(EncoderValue.Flush))
- pages.SaveAdd(ep)
- End If
- frame += 1
- Next
- End Sub
zu 2 (Posteingangsstempel in Tiff zeichnen):
VB.NET-Quellcode
- Private Sub PictureBox2_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox2.MouseUp
- Dim b As Bitmap = New Bitmap(_TempDaten) 'Picturebox1.Image
- Dim g As Graphics = Graphics.FromImage(b)
- g.DrawString("Dieses Dokument wurde durch den Sachbearbeiter: " & My.Settings.clm_benutzername & " am " & Date.Now.ToShortDateString & " bearbeitet/archiviert.", New Font("Aptos", 18, FontStyle.Bold), Brushes.Black, 10, 10)
- If cb_DruckDokIdImBeleg.Checked = True Then
- g.DrawString("DOKUMENTEN-ID. " & _DIDimage.ToString, New Font("Aptos", 8, FontStyle.Bold), Brushes.Black, 500, 10)
- End If
- If cb_PoststempelAufdrucken.Checked = True Then
- g.DrawString("POSTEINGANG", New Font("Aptos", 12, FontStyle.Bold), Brushes.Blue, CInt((_L_Pb2.X - _L_Pb1.X) * 1.9701), CInt((_L_Pb2.Y - _L_Pb1.Y) * 1.9701))
- g.DrawString(Date.Now.ToShortDateString, New Font("Aptos", 12, FontStyle.Bold), Brushes.Blue, CInt((_L_Pb2.X - _L_Pb1.X) * 1.9701) + 4, CInt((_L_Pb2.Y - _L_Pb1.Y) * 1.9701) + 14)
- End If
- PictureBox1.Image = b
- [b]PictureBox1.Image.Save(_ClmTempDaten, System.Drawing.Imaging.ImageFormat.Tiff) <<<<< ---- FEHLER[/b]
- End Sub
Bis zum markierten Fehler scheint alles gut zu laufen, aber dann kommt die Fehlermeldung: System.Runtime.InteropServices.ExternalException: "Allgemeiner Fehler in GDI+."
Als Anlage habe ich n Bild aus Fehlerdetails angehängt... InnerException ist Nothing...
Allgemeiner Fehler kann nun für mich erst mal alles sein, da ich zum ersten mal mit Tiff's und Graphics arbeite.
Vielleicht hat einer eine gute Idee? Oder fällt jemanden Fehler auf die ich gemacht habe?
Für Rückantworten wäre ich sehr dankbar...
Viele Grüße
Michl
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()