End of April, I was invited by Microsoft France (Thanks to Pierre and Mitsu) to speak about the solution,
based on Word 2003, I developed to publish content on my web site Tech Head Brothers. The day was
called “Rencontres Solutions Métiers sur Office” and was held in Strasbourg,
France. Tech Head Brothers was
even a partner for that event.
Today I am with Microsoft
France in Strasbourg for the “Rencontres
Solutions Métiers sur Office“ where I will demonstrate the tool and the
publishing chain of Tech Head Brothers. I will be on stage in one hour to
demonstrate the smart application and to show one live publication on the web
site of a new article by Mitsuru
FURUTA talking about WinForms.
Tuesday, 26 April I will be with Microsoft France in Strasbourg
as a speaker for the “Rencontres Solutions Métiers sur Office”. I
will demonstrate the tool I developed for Tech Head Brothers website based
on VSTO 2003, Word 2003, XML Schema, XML, XSLT, Web Services secured with
WS-Security and WS-Policy.
I finally managed to have a first beta going to the Tech Head Brothers authors of my
publishing tool based on Word 2003, XML, Web Services… Read
more and a bit
more.
I just started google to find out my NFOP article on Tech Head Brothers, and
guess what I found that again someone copied content from my site without asking
me and without any reference to the original author, in that case me.
I was asked about the new way to work with NFOP to generate the pdf without
the old Engine class. So here is what I am doing:
1 #region Using
2
3 using System.Net;
4 using System.Reflection;
5 using System.Xml;
6 using System.Xml.Xsl;
7 using java.io;
8 using log4net;
9 using org.apache.fop.apps;
10 using org.xml.sax;
11 using TechHeadBrothers.Portal.UI;
12 using StringWriter = System.IO.StringWriter;
13
14 #endregion
15
16 namespace TechHeadBrothers.TechHeadBrothers.Portal.UI
17 {
18 ///
20 ///
21 public class FOPPrintStrategy : PrintStrategy
22 {
23 #region Logging Definition
24
25 private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
26
27 #endregion
28
29 protected override void Print(PrintArticle page, string xmlpath, string xslpah, XsltArgumentList xsltargs)
30 {
31 string fullFoDoc = XmlContentToFoContent(page, xmlpath, xslpah);
32
33 InputSource source = new InputSource(fullFoDoc);
34 ByteArrayOutputStream output = new ByteArrayOutputStream();
35
36 try
37 {
38 Driver driver = new Driver(source, output);
39 driver.setRenderer(Driver.RENDER_PDF);
40 driver.run();
41 output.close();
42
43 int sz = output.buf.Length;
44 byte[] pdf = new byte[sz];
45 for (int i = 0; i < sz; i++)
46 pdf[i] = (byte) output.buf[i];
47
48 page.Response.ClearHeaders();
49 page.Response.Clear();
50
51 page.Response.AddHeader(“Content-Disposition”, “attachment; filename=TechHeadBrothers.pdf”);
52 page.Response.ContentType = “application/octet-stream”;
53
54 page.Response.Flush();
55 page.Response.BinaryWrite(pdf);
56 page.Response.End();
57 }
58 catch (FOPException fope)
59 {
60 if (log.IsDebugEnabled)
61 log.Debug(fope.getMessage());
62 }
63 }
64 }
This evening I continued my journey with the C# Generics.
I refactored what I described in my post “DataAccessLayer.FindAll(PublishedBy(Author))
“ to be able to use the Design
Pattern Interpreter.
This evening (hum morning ;) I decided to give a try to the conversion
wizard integrated in Visual Studio 2005 that let you import older 1.1
projects.
I choosed to import my whole website: Tech Head Brothers. You might
see next the conversion report:
While trying out the new features of the latest Visual Studio 2005 I came
across a really cool one, debugging in the aspx :
My brother Mathieu, Microsoft
C# MVP, just received his Australian working holiday visa, so he
is leaving France for Australia in one month. He just opened a blog to keep us uptodate with
his trip and experience there.