One more thing ... use 0.8.0 not 0.7.3 ... it renders much better! Daniel
On Tue, Dec 15, 2009 at 9:58 PM, Daniel Wilson < [email protected]> wrote: > Here is the stub of a solution i provided a few months ago in this list: > > public class My_PageDrawer : org.apache.pdfbox.pdfviewer. > PageDrawer > { > public void drawPage(System.Drawing.Graphics g, > org.apache.pdfbox.pdmodel.PDPage p, > java.awt.Dimension pageDimension){ > //logic very similar to that in the Java version ... > } > protected override void > processTextPosition(org.apache.pdfbox.util.TextPosition > text) > { > > //Translation of the one in pageDrawer.java to handle .NET > graphics object > } > > > public override void fillPath(int windingRule) > { > //translation to .Net objects > } > > //etc. > > > I have created a production-worthy one, but was hired to do it for a > proprietary product, so cannot provide that code. > > Daniel Wilson > > > On Tue, Dec 15, 2009 at 9:55 PM, Daniel Wilson < > [email protected]> wrote: > >> The basic problem is that IKVM doesn't translate the Java graphics stuff >> to .Net graphics. >> >> What you have to do is create a .Net class that inherits from PageDrawer >> and override its functions using .Net graphics objects instead of the Java >> graphics objects. >> >> Daniel Wilson >> >> >> On Tue, Dec 15, 2009 at 4:18 PM, Patrick Linskey <[email protected]>wrote: >> >>> Hi, >>> >>> I'm using PDFBox from a C# app via IKVM. Stripping the text out of a PDF >>> works great, but I've been unable to render a page as an image. >>> >>> I'm using PDFBox 0.7.3 with IKVM 0.40.0.1; I built my own FontBox and >>> PDFBox DLLs as outlined below [1]. My test script fails with a >>> NotImplementedException [2]. >>> >>> Does anyone know if I should expect PDFBox + IKVM to be able to generate >>> images of pages? If so, does anything jump out as particularly wrong about >>> my configuration, or do you have any pointers to a happy configuration? >>> >>> Thanks, >>> >>> -Patrick >>> >>> >>> [1] DLL build process: >>> >>> references="-reference:IKVM.AWT.WinForms.dll >>> -reference:IKVM.OpenJDK.Core.dll -reference:IKVM.OpenJDK.Misc.dll >>> -reference:IKVM.OpenJDK.SwingAWT.dll -reference:IKVM.OpenJDK.Text.dll >>> -reference:IKVM.OpenJDK.Util.dll" >>> >>> ikvmc $references -target:library -out:FontBox.dll FontBox-0.1.0-dev.jar >>> ikvmc -target:library -reference:FontBox.dll -out:PDFBox.dll >>> PDFBox-0.7.3.jar >>> >>> [2] NotImplementedException: >>> Test method PdfViewerTests.TextOnlyPdfToImage threw exception: >>> System.NotImplementedException: The method or operation is not >>> implemented.. >>> org.pdfbox.util.PDFStreamEngine.processSubStream(PDPage aPage, >>> PDResources resources, COSStream cosStream) >>> org.pdfbox.util.PDFStreamEngine.processStream(PDPage aPage, PDResources >>> resources, COSStream cosStream) >>> org.pdfbox.pdfviewer.PageDrawer.drawPage(Graphics g, PDPage p, Dimension >>> pageDimension) >>> org.pdfbox.pdmodel.PDPage.convertToImage() >>> ClaimCharter.View.Pdf.PdfPagePanel.PageToBytes() in >>> C:\Users\admin\Desktop\document-charter\client\ClaimCharter\View\Pdf\PDFPagePanel.cs: >>> line 49 >>> ClaimCharter.View.Pdf.PdfPagePanel.SetPage(PDPage pdfPage) in >>> C:\Users\admin\Desktop\document-charter\client\ClaimCharter\View\Pdf\PDFPagePanel.cs: >>> line 37 >>> ClaimCharterTestProject.Pdf.PdfViewerTests.TextOnlyPdfToImage() in >>> C:\Users\admin\Desktop\document-charter\client\ClaimCharterTestProject\Pdf\PdfViewerTests.cs: >>> line 75 >>> >>> >>> FTR, when I tried the same test with the DLLs that ship with PDFBox 0.7.3 >>> (linked against GNU Classpath), I get an UnsupportedOperationException: >>> >>> Test method PdfViewerTests.AllTextPdfToImage threw exception: >>> java.lang.UnsupportedOperationException: type not implemented >>> yet.java.awt.image.BufferedImage..ctor(Int32 w, Int32 h, Int32 type) >>> org.pdfbox.pdmodel.PDPage.convertToImage() >>> ClaimCharter.View.Pdf.PdfPagePanel.PageToBytes() in >>> C:\Users\admin\Desktop\document-charter\client\ClaimCharter\View\Pdf\PDFPagePanel.cs: >>> line 49 >>> ClaimCharter.View.Pdf.PdfPagePanel.SetPage(PDPage pdfPage) in >>> C:\Users\admin\Desktop\document-charter\client\ClaimCharter\View\Pdf\PDFPagePanel.cs: >>> line 37 >>> ClaimCharterTestProject.Pdf.PdfViewerTests.AllTextPdfToImage() in >>> C:\Users\admin\Desktop\document-charter\client\ClaimCharterTestProject\Pdf\PdfViewerTests.cs: >>> line 75 >>> >>> -- >>> Patrick Linskey >>> 202 669 5907 >>> >>> >> >

