Hello, Aspose team!
Our team tries to find way saving images with transparent background from PDF, but images saving with the black background now. We use Aspose.Pdf with 17.12.0.0 version.
Example pdf:
test15.pdf (351.8 KB)
How save images with transparent background?
Sample our code:
public void ProcessDocument(Document pdfDocument)
{
Page page;
for (int i = 1; i <= pdfDocument.Pages.Count; i++)
{
page = pdfDocument.Pages[i];
List images = new List();
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();
page.Accept(abs);
for (int j = 1; j <= abs.ImagePlacements.Count; j++)
{
ImagePlacement absImagePlacement = abs.ImagePlacements[j];
ImageOptions image = new ImageOptions
{
Rectangle = absImagePlacement.Rectangle.ToRect(),
PageNumber = page.Number,
Height = absImagePlacement.Image.Height,
Width = absImagePlacement.Image.Width,
ImageIndex = j,
Image = absImagePlacement.Image,
};
images.Add(image);
}
foreach (var imageOptions in images)
{
var pathToImage = @"C:\temp\" + Guid.NewGuid().ToString();
using (var fileStream = File.Create(pathToImage))
{
imageOptions.Image.Save(fileStream);
}
}
}
}
namespace Lineslip.Services.Processing.PDF.Models
{
using Aspose.Pdf;
public class ImageOptions
{
public string PathToImage { get; set; }
public System.Drawing.Rectangle Rectangle { get; set; }
public int PageNumber { get; set; }
public int Height { get; set; }
public int Width { get; set; }
public int ImageIndex { get; set; }
public XImage Image { get; set; }
public System.Drawing.Image GrayscaledImage { get; set; }
}
}