diff --git a/Examples/StoryRendering/StoryRender.sln b/Examples/StoryRendering/StoryRender.sln new file mode 100644 index 0000000..86c38ac --- /dev/null +++ b/Examples/StoryRendering/StoryRender.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35506.116 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StoryRender", "StoryRender\StoryRender.csproj", "{8EB31A13-17AF-4B16-BE9A-23308BE0AF69}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8EB31A13-17AF-4B16-BE9A-23308BE0AF69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8EB31A13-17AF-4B16-BE9A-23308BE0AF69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8EB31A13-17AF-4B16-BE9A-23308BE0AF69}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8EB31A13-17AF-4B16-BE9A-23308BE0AF69}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Examples/StoryRendering/StoryRender/Program.cs b/Examples/StoryRendering/StoryRender/Program.cs new file mode 100644 index 0000000..037f8cb --- /dev/null +++ b/Examples/StoryRendering/StoryRender/Program.cs @@ -0,0 +1,35 @@ +using MuPDF.NET; + +PDFRenderer renderer = new PDFRenderer(); +renderer.GeneratePDF(); + +public class PDFRenderer +{ + private readonly string _HTML = "

The Start

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum

The End

"; + + public void GeneratePDF() + { + Console.WriteLine("GeneratePDF"); + + Rect mediaBox = MuPDF.NET.Utils.PaperRect("A4"); + Rect where = mediaBox + new Rect(36, 36, -36, -36); + + var html = _HTML; + Story story = new(html); + var docWriter = new DocumentWriter("my-writer-pdf.pdf"); + + bool more = true; + + while (more) + { + DeviceWrapper device = docWriter.BeginPage(mediaBox); + (bool, Rect) moreFilled = story.Place(where); + more = moreFilled.Item1; + story.Draw(device); + docWriter.EndPage(); + Console.WriteLine("more" + more); + } + docWriter.Close(); + } + +} diff --git a/Examples/StoryRendering/StoryRender/StoryRender.csproj b/Examples/StoryRendering/StoryRender/StoryRender.csproj new file mode 100644 index 0000000..5ab573c --- /dev/null +++ b/Examples/StoryRendering/StoryRender/StoryRender.csproj @@ -0,0 +1,14 @@ + + + + Exe + net8.0 + enable + enable + + + + + + +