Ich bin amazon Lieferung Versand Etiketten, und sie senden eine Zeichenfolge, die eine komprimierte "GZIP" -Datei ist, und ich muss es als ". GZ" -Erweiterung speichern und dann kann ich es dekomprimieren (oder extrahieren), manchmal ist die Zeichenfolge in einem "PNG" -Format und einige ist es ein "PDF" -Format! Aber ich möchte jedes Mal in einem "PNG" -Format drucken, aber ich kann die dekomprimierte (GZIPSTREAM) Datei nicht in ein "PNG" umwandeln, wenn sie ein "PDF" -Format zurücksenden! ist keine Hilfe, ohne Drittanbieterbibliotheken zu installieren?Convert "PDF" dekomprimiert GZipStream in "PNG" C#
Hier ist mein Code
public async Task PrintLabel(string imageLabelString)
{
var byteStream = Convert.FromBase64String(imageLabelString);
GZipStream gzip = null;
Image image = null;
using (MemoryStream memoryStream = new MemoryStream(byteStream))
{
image = null;
//File.WriteAllBytes("temp.gz", byteStream);
using (gzip = new GZipStream(memoryStream, CompressionMode.Decompress))
{
image = Image.FromStream(gzip);
};
memoryStream.Position = 0;
image.RotateFlip(RotateFlipType.Rotate90FlipNone);
PrintDocument pd = new PrintDocument();
pd.PrintPage += (object o, PrintPageEventArgs e) =>
{
Rectangle rectangle = new Rectangle(0, 0, 500, 750);
e.Graphics.DrawImage(image, rectangle);
};
pd.PrinterSettings.PrinterName = "PrinterName";
pd.Print();
}
this.Close();
}
Dies ist ohne eine 3rd-Party-Bibliothek nicht trivial. Es gibt viele Treffer für * C# pdf zu image * –
Sie können feststellen, ob der decodierte Stream ein PNG ist, indem Sie die ersten 4 Bytes überprüfen. In einem PNG enthalten sie die Zeichenfolge "PNG" in ASCII. –