C# (CSharp) Bloom.Publish Namespace

Classes

Name Description
AdobeReaderControl
BloomLibraryPublishControl This class replaces the AdobeReaderControl in the PublishView when the Upload To BloomLibrary.org option is selected.
BulkUploadProgressDlg
CancellableNullProgress
EpubMaker This class handles the process of creating an ePUB out of a bloom book. The process has two stages, corresponding to the way our UI displays a preview and then allows the user to save. We 'stage' the ePUB by generating all the files into a temporary folder. Then, if the user says to save, we actually zip them into an ePUB.
EpubView This class implements the panel that appears in the Publish tab when the ePUB button is selected. See PublishView.SetupEpubControl for initialization. In addition to the controls created in InitializeComponent, this control normally has a browser displaying the book preview which occupies the remaining space. Since this is not a standard control it is easier to create it and insert it when needed, especially since the PublishView needs to manipulate it.
FontFileFinder This class handles the problem of finding what files contain the definition of the various faces of a particular font. So far the best approach involves a scan of the whole font directory, so it is much more efficient to build a dictionary once, or at least once per operation that uses it. The dictionary and method could be static, but then, we would miss the chance to find any new fonts added since the last operation that needed this information.
MakePdfUsingGeckofxHtmlToPdfProgram This wrapper uses the GeckoFxHtmlToPdf program, which we rename to BloomPdfMaker.exe because AVG likes to quarantine it and we want to make it look less scary. Trying to use the component directly leads to obscure bugs, at least on Windows. Isolating the embedded Gecko browser in a separate process appears to at least let us produce the desired PDF files.
PdfMaker Creates a pdf from Html, optionally layed out in various booklet layouts
PdfPrintProgressEventArgs
PdfViewer
PublishModel Contains the logic behind the PublishView control, which involves creating a pdf from the html book and letting you print it.
PublishView
SHRP_PupilBookExtension This class currently just does one thing; it adds a right-click menu item in the Publish tab that saved PNG thumbnails of all the "day" pages of a SHRP Pupil's book. These are used in the corresponding "Teacher's Guide". It is built as an MEF "part", exporting what Bloom needs (the menu item) and importing what it needs (e.g. the contents of the book, an html thumbnailer) Currently (In Dec 2013), it isn't actually an extension because it doesn't have its own DLL. But it does demonstrate that we could trivially have extension dlls coming with templates, in separate DLLS. The key is keeping the dependences to a minimum so that extension don't break with each version of Bloom.
SHRP_TeachersGuideExtension
SamplePrintNotification