When I set the border of the PageSetup like this:
Hi Dirk,
Section s = doc.FirstSection;
s.PageSetup.Borders.LineStyle = LineStyle.Single;
s.PageSetup.Borders.LineWidth = 1;
s.PageSetup.Borders.Color = Color.Red;
s.PageSetup.BorderDistanceFrom = PageBorderDistanceFrom.PageEdge;
s.PageSetup.Borders.DistanceFromText = 24;
doc.Save(MyDir + @"16.11.0.docx");
Section s = doc.FirstSection;
s.PageSetup.Borders.LineStyle = LineStyle.Single;
s.PageSetup.Borders.LineWidth = 1;
s.PageSetup.Borders.Color = Color.Red;
s.PageSetup.BorderDistanceFrom = PageBorderDistanceFrom.PageEdge;
s.PageSetup.Borders.DistanceFromText = 0;
doc.Save(MyDir + @"16.11.0.docx");
I have to admit I never saved the document as docx. That way everything works fine. What I am doing exactly is to save every page as an image. So maybe the conversion is the problem.
var options = new ImageSaveOptions(SaveFormat.Png)
{
PageCount = 1
};foreach (Section s in doc)
{
s.PageSetup.Borders.LineStyle = LineStyle.Single;
s.PageSetup.Borders.LineWidth = 1;
s.PageSetup.Borders.Color = Color.Yellow;
s.PageSetup.BorderDistanceFrom = PageBorderDistanceFrom.PageEdge;
s.PageSetup.Borders.DistanceFromText = 0;
}for (var i = 0; i < doc.PageCount; i++)
{
options.PageIndex = i;using (var imageStream = new MemoryStream()) { doc.Save(imageStream, options); var ic = new ImageConverter(); var image = Image.FromStream(imageStream, true); var imageAsBytes = (byte[])ic.ConvertTo(image, typeof(byte[])); File.WriteAllBytes("D:\\temp\\test" + i + ".png", buffer); }
}
Hi Dirk,
- Your input Word document
- Aspose.Words generated output document (DOCX) and image files showing the undesired behavior.
- Please create a standalone console application (source code without compilation errors) that helps us reproduce your problem on our end and attach it here for testing.
Hi Dirk,
ipsum.docx”);
// draw a red border around every page
foreach (Section s in document)
{
s.PageSetup.Borders.LineStyle = LineStyle.Single;
s.PageSetup.Borders.LineWidth = 1;
s.PageSetup.Borders.Color = Color.Red;
s.PageSetup.BorderDistanceFrom = PageBorderDistanceFrom.PageEdge;
s.PageSetup.Borders.DistanceFromText = 0;
}
// save document with border
document.Save(MyDir + "BorderDoc.docx");
// conversion
var options = new ImageSaveOptions(SaveFormat.Png)
{
PageCount = 1,
Resolution = 200
};
for (var i = 0; i < document.PageCount; i++)
{
options.PageIndex = i;
document.Save(MyDir + "page-{i}.png", options);
}
That’s a workaround I can live with.