|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CBR.Core.Helpers;
using CBR.Core.Models;
using System.Windows.Xps.Packaging;
using System.IO;
using System.Windows.Documents;
namespace CBR.Core.Services
{
public class XpsBookService : BookServiceBase
{
override internal void LoadCoverThread(object param)
{
Book bk = param as Book;
try
{
bk.Cover = new XpsHelper().GetXpsThumbnail( bk.FilePath );
}
catch (Exception err)
{
ExceptionHelper.Manage("XpsService:LoadCoverThread", err);
}
}
override public object LoadBook(Book bk)
{
XpsDocument document = null;
FixedDocumentSequence fds = null;
try
{
base.LoadBook(bk);
document = new XpsDocument(bk.FilePath, FileAccess.Read);
fds = document.GetFixedDocumentSequence();
DocumentReference docReference = fds.References.First();
FixedDocument fixDoc = docReference.GetDocument(false);
bk.PageCount = fds.DocumentPaginator.PageCount;
for( int i = 0; i<bk.PageCount-1; i++ )
bk.Pages.Add( new Page(bk, i) );
}
catch (Exception err)
{
ExceptionHelper.Manage("XpsService:LoadBook", err);
}
finally
{
if( document != null )
document.Close();
}
return fds;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
WPF and MVVM fan, I practice C # in all its forms from the beginning of the NET Framework without mentioning C ++ / MFC and other software packages such as databases, ASP, WCF, Web & Windows services, Application, and now Core and UWP.
In my wasted hours, I am guilty of having fathered C.B.R. and its cousins C.B.R. for WinRT and UWP on the Windows store.
But apart from that, I am a great handyman ... the house, a rocket stove to heat the jacuzzi and the last one: a wood oven for pizza, bread, and everything that goes inside
https://guillaumewaser.wordpress.com/
https://fouretcompagnie.wordpress.com/