mirror of
https://github.com/UglyToad/PdfPig.git
synced 2025-04-05 20:55:01 +08:00
50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
namespace UglyToad.Examples
|
|
{
|
|
using System;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using PdfPig.Content;
|
|
using PdfPig.Core;
|
|
using PdfPig.Writer;
|
|
|
|
internal static class GeneratePdfA2AFile
|
|
{
|
|
public static void Run(string trueTypeFontPath, string jpgImagePath)
|
|
{
|
|
var builder = new PdfDocumentBuilder
|
|
{
|
|
ArchiveStandard = PdfAStandard.A2A
|
|
};
|
|
|
|
var font = builder.AddTrueTypeFont(File.ReadAllBytes(trueTypeFontPath));
|
|
|
|
var page = builder.AddPage(PageSize.A4);
|
|
var pageTop = new PdfPoint(0, page.PageSize.Top);
|
|
|
|
var letters = page.AddText("This is some text added to the output file near the top of the page.",
|
|
12,
|
|
pageTop.Translate(20, -25),
|
|
font);
|
|
|
|
var bottomOfText = letters.Min(x => x.GlyphRectangle.Bottom);
|
|
|
|
var imagePlacement = new PdfRectangle(new PdfPoint(50, bottomOfText - 200),
|
|
new PdfPoint(150, bottomOfText));
|
|
page.AddJpeg(File.ReadAllBytes(jpgImagePath), imagePlacement);
|
|
|
|
var fileBytes = builder.Build();
|
|
|
|
try
|
|
{
|
|
var location = AppDomain.CurrentDomain.BaseDirectory;
|
|
var output = Path.Combine(location, "outputOfPdfA2A.pdf");
|
|
File.WriteAllBytes(output, fileBytes);
|
|
Console.WriteLine($"File output to: {output}");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($"Failed to write output to file due to error: {ex}.");
|
|
}
|
|
}
|
|
}
|
|
} |