|
private Dictionary<string,
List<XpsResource>>
AddPageResources(IXpsFixedPageWriter
fixedPageWriter)
{
//
Collection of all resources for this page.
// Key:
"XpsImage", "XpsFont"
// Value:
List of XpsImage or XpsFont
Dictionary<string,
List<XpsResource>> resources =
new Dictionary<string,
List<XpsResource>>();
//
Collections of images and fonts used in the current page.
List<XpsResource>
xpsImages = new List<XpsResource>();
List<XpsResource>
xpsFonts = new List<XpsResource>();
try
{
XpsImage xpsImage;
XpsFont xpsFont;
//
Add, Write, and Commit image1 to the current page.
xpsImage =
fixedPageWriter.AddImage(XpsImageType.JpegImageType);
WriteToStream(xpsImage.GetStream(),
image1);
xpsImage.Commit();
xpsImages.Add(xpsImage); //
Add image1 as a required resource.
//
Add, Write, and Commit font 1 to the current page.
xpsFont =
fixedPageWriter.AddFont();
WriteObfuscatedStream(
xpsFont.Uri.ToString(),
xpsFont.GetStream(), font1);
xpsFont.Commit();
xpsFonts.Add(xpsFont); //
Add font1 as a required resource.
//
Add, Write, and Commit image2 to the current page.
xpsImage =
fixedPageWriter.AddImage(XpsImageType.TiffImageType);
WriteToStream(xpsImage.GetStream(),
image2);
xpsImage.Commit();
xpsImages.Add(xpsImage); //
Add image2 as a required resource.
//
Add, Write, and Commit font2 to the current page.
xpsFont =
fixedPageWriter.AddFont(false);
WriteToStream(xpsFont.GetStream(),
font2);
xpsFont.Commit();
xpsFonts.Add(xpsFont); //
Add font2 as a required resource.
//
Return the image and font resources in a combined collection.
resources.Add("XpsImage",
xpsImages);
resources.Add("XpsFont",
xpsFonts);
return resources;
}
catch (XpsPackagingException
xpsException)
{
throw xpsException;
}
} |
Join the conversation! Your thoughts help the community grow.