Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Shane32 committed Apr 8, 2024
2 parents 3b22637 + 6c3a450 commit 0839b64
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/EasyPDF/ClassEasyPDF.cs
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ private static float _TranslateRev(float num, ScaleModes scaleMode)
set {
var newMarginOffset = new PointF(_Translate(value.Left), _Translate(value.Top));
var difference = new PointF(newMarginOffset.X - _marginOffset.X, newMarginOffset.Y - _marginOffset.Y);
if (difference.X != 0 && difference.Y != 0) {
if (difference.X != 0 || difference.Y != 0) {
_content.ConcatCtm(1f, 0f, 0f, 1f, difference.X, difference.Y);
_marginOffset = newMarginOffset;
}
Expand Down
34 changes: 34 additions & 0 deletions src/Tests/BasicTests.Margins.approved.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
%PDF-1.4
%\xE2\xE3\xCF\xD3
2 0 obj
<</Length 161/Filter/FlateDecode>>stream
x\x9Cm\x90\xC1
\x830\x0C\x86\xEFy\x8A\x1C\xF50\x97\xB4Zw\x1E\xB8\x81\xB7m\xB9\x89'u\xE2\xC0\x81:\xD8\xEB\xAF\xD5\xB2)\x8CR\x9A4_\xF2\xF7\xEF\x00G\x01m0M\x0CJ\x99\xC0\x05\x18\xC9\xAE\x1D\xA3\xBBW\x84U\x0F\x84\xB9\xDD\x0F\xA0\x88\xF1Ei\xEB5\xD0\xCC]\xCF>\x18\xDB\xFF\x18\x7F\xB1\x88\xF4\xB6;6\x07LR\x83c\x037\xCFy\xD5E\xD4\xA5~\xBEV\xB1\xAD\xD0\x16\xA5\x159K\x0C6\x94\xCAy\xDA\x9F\x18Y\xA1\xDC\x7Fv\xDC!\xFD\xFA\xB5\xE4<\x17\x81\x84\xAC(h\xA6W\xF7l\xC3R\xF2\xE5\x1B>\xA7\xDC8\xB5
endstream
endobj
4 0 obj
<</Type/Page/MediaBox[0 0 612 792]/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 1 0 R>>>>/Contents 2 0 R/Parent 3 0 R>>
endobj
1 0 obj
<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding/WinAnsiEncoding>>
endobj
3 0 obj
<</Type/Pages/Count 1/Kids[4 0 R]/ITXT(3.3.2.0)>>
endobj
5 0 obj
<</Type/Catalog/Pages 3 0 R>>
endobj
6 0 obj
<<>>
endobj
xref
0 7
0000000000 65535 f
0000000400 00000 n
0000000015 00000 n
0000000488 00000 n
0000000243 00000 n
0000000554 00000 n
0000000599 00000 n
trailer
<</Size 7/Root 5 0 R/Info 6 0
Expand Down
46 changes: 46 additions & 0 deletions src/Tests/BasicTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -272,4 +272,50 @@ public void Metadata()
page.Metadata.ModificationDate = new DateTime(2019, 2, 3, 4, 5, 6, DateTimeKind.Utc);
page.ToArray().SaveAsPdf().ToASCIIString().RemoveID().ShouldMatchApproved(o => o.NoDiff());
}

[Fact]
public void Margins()
{
var page = new PDFWriter();
page.ScaleMode = ScaleModes.Inches;
page.NewPage(PageKind.Letter, false, new MarginsF(0.5f, 1f, 1.5f, 2f));
page.PrepForTests();
page.Margins.Left.ShouldBe(0.5f, 0.001f);
page.Margins.Top.ShouldBe(1f, 0.001f);
page.Margins.Right.ShouldBe(1.5f, 0.001f);
page.Margins.Bottom.ShouldBe(2f, 0.001f);
page.PageSize.Width.ShouldBe(8.5f, 0.01);
page.PageSize.Height.ShouldBe(11f, 0.01);
page.Size.Width.ShouldBe(6.5f, 0.01);
page.Size.Height.ShouldBe(8f, 0.01);
page.ForeColor = System.Drawing.Color.Red;
page.LineStyle.Width = 0.03f;
page.MoveTo(0, 0).Rectangle(page.Size.Width, page.Size.Height);

page.OffsetMargins(0.5f, 1f, 1.5f, 2f);
page.Margins.Left.ShouldBe(1f, 0.001f);
page.Margins.Top.ShouldBe(2f, 0.001f);
page.Margins.Right.ShouldBe(3f, 0.001f);
page.Margins.Bottom.ShouldBe(4f, 0.001f);
page.PageSize.Width.ShouldBe(8.5f, 0.01);
page.PageSize.Height.ShouldBe(11f, 0.01);
page.Size.Width.ShouldBe(4.5f, 0.01);
page.Size.Height.ShouldBe(5f, 0.01);
page.ForeColor = System.Drawing.Color.Blue;
page.MoveTo(0, 0).Rectangle(page.Size.Width, page.Size.Height);

page.OffsetMargins(0, 1f);
page.Margins.Left.ShouldBe(1f, 0.001f);
page.Margins.Top.ShouldBe(3f, 0.001f);
page.Margins.Right.ShouldBe(3f, 0.001f);
page.Margins.Bottom.ShouldBe(4f, 0.001f);
page.PageSize.Width.ShouldBe(8.5f, 0.01);
page.PageSize.Height.ShouldBe(11f, 0.01);
page.Size.Width.ShouldBe(4.5f, 0.01);
page.Size.Height.ShouldBe(4f, 0.01);
page.ForeColor = System.Drawing.Color.Black;
page.MoveTo(0, 0).WriteLine("Testing");

page.ToArray().SaveAsPdf().ToASCIIString().RemoveID().ShouldMatchApproved(o => o.NoDiff());
}
}

0 comments on commit 0839b64

Please sign in to comment.