|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace CBR.Core.Models
{
public class ePUB
{
#region -----------------CONSTRUCTOR-----------------
/// <summary>
/// Constructor with file parameter
/// </summary>
/// <param name="filePath"></param>
public ePUB(string filePath)
{
FilePath = filePath;
}
#endregion
#region -----------------CONSTANTS-----------------
public const string ContainerFile = "META-INF\\container.xml";
#endregion
#region -----------------PROPERTIES-----------------
/// <summary>
/// ePUB file path
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// Folder in case of extraction, else empty ?
/// </summary>
public string ContentFolder { get; set; }
/// <summary>
///
/// </summary>
public string Title { get; set; }
public Package OpenPackage { get; set; }
#endregion
public string GetTOCFile()
{
if( !string.IsNullOrEmpty(ContentFolder) )
return Path.Combine(Path.Combine(ContentFolder, OpenPackage.RelativeFolder),
OpenPackage.ManifestItems.Where(p => p.mediatype == "application/x-dtbncx+xml").First().href);
else
return Path.Combine(OpenPackage.RelativeFolder,
OpenPackage.ManifestItems.Where(p => p.mediatype == "application/x-dtbncx+xml").First().href);
}
public string GetCoverFile()
{
if (!string.IsNullOrEmpty(ContentFolder))
return Path.Combine(Path.Combine(ContentFolder, OpenPackage.RelativeFolder), OpenPackage.ManifestItems.Where(p => p.id == OpenPackage.CoverId).First().href);
else
return Path.Combine(OpenPackage.RelativeFolder, OpenPackage.ManifestItems.Where(p => p.id == OpenPackage.CoverId).First().href);
}
}
}
|
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/