Print BufferedImage Externally Generated

Hi, I'm trying to build up a BufferedImage using its Graphics component, and then print that image using a Printable. The problem is that some of my operations on the graphics component seem to be lost, and when I print the image, a lot of it is clipped off around the borders. The code below shows the gist of what I'm doing.
// this method is in class A
foo(String text, Font font, B b, int x, int y) {
Graphics2D g2d = (Graphics2D) image.getGraphics();
g2d.setColor(Color.black); // this color gets lost when bar is called
g2d.setFont(font); // this font gets lost when bar is called
b.bar(text, x, y);
// this method is in class B
bar(String text, int x, int y) {
Graphics2D g2d = (Graphics2D) image.getGraphics();
g2d.drawString(text, x, y); // this does not get lost when the image is printed
// this is the print method for the Printable, the image is passed to the Printable
print(Graphics g, PageFormat pf, int pageIndex) {
if (pageIndex == 0) {
Graphics2D g2d = (Graphics2D)image.getGraphics();
g2d.translate(pf.getImageableX(), pf.getImageableY());
((Graphics2D)graphics).drawImage(image, null, 0, 0);
return Printable.PAGE_EXISTS;
} else {
return Printable.NO_SUCH_PAGE;
If I hardcode the color and font in the bar method, then the text actually comes out at the printer, but if x < 80 or x > 500, it doesn't get printed; same if y < 80 or y > 600 (these are approximate, I'm just estimating based on what I printed and where it got cut off). This leaves about a 1 inch margin around the printed text on the paper from the printer. Ultimately, I want to generate a document image using j2d and send that to the printer. Any help is greatly appreciated!
Thanks in advance!

I just reposted my StandardPrint class today. This will let you either print a JLabel label on which you have installed the bufferedImage, or the BufferedImage itself by creating a SpecialPrint for it.
Search the forums

Similar Messages

  • Printing of charts generated by anychart and using Chrome

    Hi All,
    I have decided to use Anychart to print the charts in my report. The problem is that in google chrome when I go to print the report, only the text shows up in the print preview. As a result I cannot print the charts (generated by anychart)...only the text print.
    Please see a small demo that I created here - http://apex.oracle.com/pls/apex/f?p=57229:1:14503394258567 (login itproguys/itpro230). USE GOOGLE CHROME.....
    When you right click on the text or anywhere except the image, you get the Print option. Click on this to launch the chrome print utility. You will see the text showing up and no images on the preview section.
    Any help is highly appreciated
    Edited by: rhans on Oct 9, 2012 2:07 PM

    Yes these parameters that you can input in RSA3 will be provided by BW call
    Take attention to the selection fields, transfered in first call and not in following call. so move those to STATICS field at first call, and don't touch them after. Use these to build the CURSOR FOR SELECT statement. (moving to field ranges or building a WHERE clause)
    In case of DELTA via DATE or such field, you will get this selection in these selection fields.
      IF i_initflag = sbiwa_c_flag_on.
        APPEND LINES OF i_t_select TO s_s_if-t_select.
        APPEND LINES OF i_t_fields TO s_s_if-t_fields.
        s_s_if-requnr = i_requnr.
        s_s_if-dsource = i_dsource.
        s_s_if-maxsize = i_maxsize DIV 3.
        s_updmode = i_updmode.
      ELSE.
        IF s_counter_datapakid = 0.
          REFRESH s-gjahr.
          LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'FISCPER'.
              MOVE-CORRESPONDING l_s_select TO s-gjahr.
              s-gjahr-low = l_s_select-low(4).
              s-gjahr-high = l_s_select-high(4).
              APPEND s-gjahr.
            ENDIF.
          ENDLOOP.
          OPEN CURSOR WITH HOLD s_cursor FOR
          SELECT * FROM pmco
            WHERE versn IN s-versn
              AND objnr IN s-objnr
              AND gjahr IN s-gjahr.
    Regards

  • Printing an External PDF

    I have a highly graphical PDF with a PRINT button on it. I want to be able to have it print an external PDF from our site that is a simple Black and White version.
    Looking for some help to do this...
    Many thanks!
    Dave

    Printer control from within a PDF? Not possible unless you use Javascript and even this can be restricted or is very likely completely deactivated in the PDF viewer.

  • Button - Print an external PDF file

    Hi all... I am trying to have a Button on my PDF to be able to PRINT and external PDF file from off of my site.
    any thoughts?
    Many thanks.,
    Dave

    Hi,
    use the pakage javax.print
    FileInputStream psStream;
    try {
    psStream = new FileInputStream("file.ps");
    } catch (FileNotFoundException ffne) {
    if (psStream == null) {
    return;
    DocFlavor psInFormat = DocFlavor.INPUT_STREAM.PDF;
    Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
    PrintRequestAttributeSet aset =
         new HashPrintRequestAttributeSet();
    aset.add(new Copies(5));
    aset.add(MediaSize.A4);
    aset.add(Sides.DUPLEX);
    PrintService[] services =
    PrintServiceLookup.lookupPrintServices(psInFormat, aset);
    if (services.length > 0) {
    DocPrintJob job = services[0].createPrintJob();
    try {
         job.print(myDoc, aset);
    } catch (PrintException pe) {}
    Thanks,
    Snigdha Sivadas

  • Problems with printer and external HD connected via Time Capsule with Windo

    Hello everyone!
    In January I bought an iMac 27 "(OS version: OS X 10.6.2) and a week ago a Time Capsule 1TB.
    I connected the iMac and a laptop with Windows XP SP3 both via ethernet to the TC, and to the USB port of the TC a USB hub to which I connected a Canon iP4200 and a LACIE 500GB HARD DISK.
    I reformatted the hard disk file system to Lacie Mac OS Extended (Journaled) and installed MacDrive 8 in the laptop.
    Now (after formatting the HD), with the iMac everything works: internet connection via ethernet or wireless, printing via ethernet or wireless as well as hard disk connection via ethernet or wireless.
    Laptop, instead, is only able to connect to the internet via ethernet or wireless while it isn't able to see and use printer and external hard drive, even though I installed AirPort Utility for Windows!
    The laptop also detects the AirPort disk of the TC but if I enter the (correct) password I get an error message!..
    Please, somebody help me, I do not know what to do!
    Thanks

    Have you run Bonjour on the Win PC's? Do a search on the support page and there's a description on getting things up and running from a WinPC in a Mac environment.

  • Printing with Apex generates error (namespace prefix ref....)

    Hello forum helpers,
    i have installed bi publisher standalone and bi publisher desktop with MS Word 2003.
    I have generated a rtf document as a template.
    I loaded this rtf template into the apex database and started the TEST REPORT BUTTON in apex report queries.
    But i have seen no report.
    So, I have placed a xdodebug.cfg file into the folder java/jre/lib and so i have several logfiles created after processing printing.
    This logfiles shows this lines, which i do not understand:
    [030211_051252364][oracle.apps.xdo.template.FOProcessor][STATEMENT] Log file 'xdo_030211_051252364_fo_data_14.xsl' is created.
    [030211_051252364][oracle.apps.xdo.template.FOProcessor][STATEMENT] FOProcessor.setData(InputStream) is called.
    [030211_051252364][oracle.apps.xdo.template.FOProcessor][STATEMENT] Log file 'xdo_030211_051252364_fo_data_15.xml' is created.
    [030211_051252379][oracle.apps.xdo.template.FOProcessor][STATEMENT] Log file 'xdo_030211_051252364_fo_out6.out' is created.
    [030211_051252379][oracle.apps.xdo.template.FOProcessor][STATEMENT] FOProcessor.setOutput(OutputStream)is called.
    [030211_051252379][oracle.apps.xdo.template.FOProcessor][STATEMENT] FOProcessor.setOutputFormat(byte)is called with ID=3.
    [030211_051252379][oracle.apps.xdo.template.FOProcessor][STATEMENT] Start Memory: max=247MB, total=62MB, free=23MB
    [030211_051252379][oracle.apps.xdo.template.FOProcessor][STATEMENT] FOProcessor.generate() called.
    [030211_051252379][oracle.apps.xdo.template.FOProcessor][STATEMENT] createFO(Object, Object) is called.
    [030211_051252395][oracle.apps.xdo.common.xml.XSLT10gR1][STATEMENT] Oracle XML Developers Kit 10.1.0.5.0 - Production
    [030211_051252395][oracle.apps.xdo.common.xml.XSLT10gR1][STATEMENT] Scalable Feature Disabled
    [030211_051252410][oracle.apps.xdo.common.xml.XSLTWrapper][ERROR] XSL error:
    XML-22008: (Error) Namespace prefix 'ref' used but not declared.
    [030211_051252410][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
    [030211_051252426][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
    [030211_051252426][oracle.apps.xdo.template.FOProcessor][ERROR] End Memory: max=247MB, total=62MB, free=20MB
    [030211_051252426][][EXCEPTION] java.lang.reflect.InvocationTargetException
    You see, that an xml-22008 Error appears.
    In google i only found, that the declaration of this reference must be before using it. Seems to be logical.
    But the template is generated by BI Publisher himself, so now i do not understand.
    I have no choice to declare references, the xml file is made by bi publisher.
    Has anyone a solution for this ?
    Thank you for help.
    Frank

    Issue was solved, found it in the bi publisher options in word 2003

  • Is it not possible to print the Excel generated reports from EBS!!

    Is is true that the Excel generated by XML Publisher is not printable from Oracle Applications. Does the printers do not have drivers to understand EXCEL format (which from XML Publisher is XHTML not binary .xls.) So for printed output we should only use PDF ??
    Please advice!!
    Thanks.

    Hi,
    Actually the Excel format generated by XML Publisher is XHTML ... so the print process would need to convert XHTML to Postscript (similar to PDF being converted to Postscript by pdf2ps).
    But you question is still valid... unfortunately I haven't tried it ... anyone else?
    Regards,
    Gareth
    Blog: http://garethroberts.blogspot.com/

  • Printing SFP ADOBE generated pdf from spool.

    I am trying to print ADOBE PDF file to HP Designjet Z5400 plotter.  It successfully writes a pdf file to the spool.  When I either release that spool file to print or have the print job set to print immediately I get a spool error - unable to read format G_RAW l_rc =128.  However I can print the pdf from preview.  It is NOT an issue with the printer printing the pdf file as I can do this.  My issue is that I cannot print directly to the printer via the SAP spooler.  I have entered incident to SAP with specific example of my program that produces the pdf spool file.  I am directed to read notes that imply I have ADS problem which is ridiculous as I have plenty of SFP generated pdf files printing to HP and Canon laser printers.  Again i am trying to print a very large label 2 X2 foot to HP Designjet Z5400 plotter directly via spool.  My task is to direct label to different printers based upon MATNR field.
    I would appreciate response from only people who have printed SPF ADOBE pdf to plotters.
    The pdf that was created file size 5.7 KB.
    SPAD settings
    Device Type  HPGL HPGL  : Bus.Graphics:  HP/GL plotter Device Class Standard printer
    Model        HP Designjet Z5400
    Host Spool Access Method  G G: Frontend print with control technologie

    new component SAPPDFPRINT, interactive forms can be printed on any Windows printer just like all of the other spool requests with the SAPWIN device types.
    Refer to SAP notes:
    1444342 - Device type-independent printing of ADS forms
    968394 - Forms Printing from spool and from Preview PDF differ
    1630403 - Mass printing of Adobe documents
    Regards
    Sandy

  • Using externally generated pixmap in Canvas

    I am evaluating how difficult it would be to use an external library for drawing images in LabWindows. The library comes with binaries
    only that were generated in MS Visual Studio, so I assume they can be linked loaded into LabWindows.
    Are there likely to be linking issues if the external libraries referenence some Microsoft library not included in LabWindows.
    Or does LabWindows have the full complement of Microsoft libraries so anything in Visual Studio will link?
    There is an API for drawing a image to memory and also drawing an image to a Hardware Device Context.
    The question is should I be able to use these functions when linked and called from a labwindows gui app to
    first draw the pixmap nd then copy the pixmap to a LabWindows Canvas?
    Canvases don't support alpha channels but the library drawing routing uses an alpha channel. 
    I am newbie to LabWindows.
    Here is the Labwindows function that looks like what I should use
    CanvasDrawBitmap
    int CanvasDrawBitmap (int panelHandle, int controlID, int bitmapID, Rect sourceRectangle, Rect destinationRectangle);
    Here are the external API functions
    // List of supported color formats for GM_DrawLayerListToMemory
    typedef uint32 GM_ColorFormat_t32; enum
        GM_ColorFormat_32Bit_ABGR   = 0,        // 32-bit color (alpha, blue, green, red)
        GM_ColorFormat_32Bit_ARGB   = 1,        // 32-bit color (alpha, red, green, blue)
        GM_ColorFormat_16Bit_565    = 2,        // 16-bit color (5 bits red, 6 bits green, 5 bits blue)
        GM_ColorFormat_NumFormats
    Draws one or more layers to the provided device context at the given location. If aWorldBounds is not NULL, at least the specified area will be drawn. The aspect ratio of the screen pixels will be maintained, so slightly more of the world bounds than specified may be drawn. If aWorldBounds is NULL, the entire specified layer or all of the loaded layers will be rendered.
    GM_DrawLayerListToMemory
    GM_Error_t32 GM_DrawLayerListToMemory
        GM_LayerHandle_t32*     aLayerList,     // List of layers to draw or NULL for all
        uint32                  aLayerCount,    // Number of layers in list (0 for all)
        GM_DrawFlags_t32        aDrawFlags,     // Flags controlling how the draw is performed
        const GM_Rectangle_t*   aWorldBounds,   // World bounds to draw or NULL for all
        GM_ColorFormat_t32      aColorFormat,   // Color format used in data buffer
        sint32                  aPixelWidth,    // Width in pixels to draw
        sint32                  aPixelHeight,   // Height in pixels to draw
        void*                   aDataBuf,       // Buffer to hold output color data
        sint32                  aRowWidthBytes  // Width of a single row in the array in bytes
    Draws one or more layers to the provided memory buffer at the given location. If aWorldBounds is not NULL, at least the specified area will be drawn. The aspect ratio of the screen pixels will be maintained, so slightly more of the world bounds than specified may be drawn. If aWorldBounds is NULL, the entire specified layer or all of the loaded layers will be rendered.
    GM_DrawLayerList
    GM_Error_t32 GM_DrawLayerList
        HDC                     aDC,            // Device context to draw to
        GM_LayerHandle_t32*     aLayerList,     // List of layers to draw or NULL for all
        uint32                  aLayerCount,    // Number of layers in list (0 for all)
        GM_DrawFlags_t32        aDrawFlags,     // Flags controlling how the draw is performed
        const GM_Rectangle_t*   aWorldBounds,   // World bounds to draw or NULL for all
        sint32                  aLeftPixel,     // Left pixel coordinate to draw to
        sint32                  aTopPixel,      // Top pixel coordinate to draw to
        sint32                  aPixelWidth,    // Width in pixels to draw
        sint32                  aPixelHeight    // Height in pixels to draw

    Samuel,
    Yes, you can call DLLs or Assemblies written in other languages in CVI. Check out our FAQ: Using Dynamic Link Libraries with LabWindows/CVI. In particular look at the sections on How Can I Call Third-Party DLLs from LabWindows/CVI and How Can I Use the Windows SDK from LabWindows/CVI. If you can get a bitmap from the DLL you are using, then you should be able to draw it to the canvas using the CanvasDrawBitmap. Take a look at the Alphablend example that ships with CVI for an example of how to use a bitmap with an alpha channel on a canvas.
    National Instruments
    Product Support Engineer

  • Purchase Order: Printer or external Send

    Hallo,
    we want to change our Output in Purchase Order from
    Print Output to Fax or external Send.
    I have the Problem, that the default Medium of Outputtype "NEU" is always Print output(1).
    How can i manipulate it, that the default is Fax(2) or
    external Send(5) and how is the Default-Value are depending on?
    Thanks for help
    Regards,
    Dieter

    Dieter
    Please see this and it may help
    http://help.sap.com/saphelp_47x200/helpdata/en/c0/4e4752497d11d385ee0000e81ddea0/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/93/745115546011d1a7020000e829fd11/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/c0/4e4752497d11d385ee0000e81ddea0/frameset.htm
    Hope this helps
    Thnaks
    Sat

  • In cheque print tcode F110 generated 3 pages...?

    hi,
    I have copy standard PROGRAMM RFFOUS_C to zprogram and copy standard script to zF110_PRENUM_us but when I execute check printing through F110 it will generated 3 pages 2 pages are blan and last page is check but in fbz5 its generated 1 page?
    payel

    During the payment run i.e. F110 it get called for each document number i.e. Clearing and Invoice (2 lines.) ,but the check will print only for Payment document. you can validate the entry from REGUH table. But in case of T-Code FBZ5 the driver program get calls only for Payment document. You need to put some condition in your driver program like:
    If Document = Payment document.
      Print check.
    endif.
    Cheers,
    Prakash

  • Automation of Printing of invoices generated from VF04

    Hi All,
    I have got a requirement where I have to print all the invoices which are generated in VF04 transaction daily at a particular time
    frequency. As per the advice from our functional consultant, coding for this requirement can be possible in program "RSNAST00".
    Please could you provide inputs on the coding part.
    Proper Guidance shall be appreciated !!
    Regards,
    Indira Bhanu

    Hi All,
    Can u please guide in terms of coding regarding this printing of invoices from vf04 at a regular interval in a day   send me  ur valuable suggestions
    I was also adviced to use  VF31 trnsaction to print the invoices but my doubt is how to pass the values(range of billed documents) of this VF04 transaction to VF31 and how to make it executed at regular intervals in a day?I thought of using background scheduling but creating a variant will have only constant values but the values will change every time they execute the transaction VF04.
    Kindly please do respond to this issue .
    Thanx in advance
    Regards,
    Indira Bhanu.

  • Print scaleType:showAll, generates 2 pages, the correct page and one blank page

    Hello,
    So I have a the following function:
    private function printJobCreator():void{
    var printJob:FlexPrintJob=new FlexPrintJob();
    printJob.start();
    printJob.addObject(printableInvoice, "showAll");
    printJob.send(); 
    invoiceIndex++;
    printAll();
    It seems to kind of work. However when it prints, it creates one page that is the right page, and one page that is blank. This isn't going to work for me because I have to run batches of many pages, so having every other page as a blank page isn't an option.
    Additionally, my goal was to print multiple pages in one printJob for batch reports. This unfortunately doesn't seem like it is going to work. I was able to make a component that essentially would repeat container.addChild(printableInvoice) for each index in an object, each printableInvoice containing some dynamic concept, however I can't for the life of me get it to print like this.
    So the current solution is annoying because for each invoice you have to go through the print dialogue again. Any Ideas? I realized I could do multiple printJob.addObject() calls, but this doesn't work for me because of the blank page issue.... So I either need to solve the blank page issue or generate a UI object that has multiple printableInvoices in it and print that UI object.
    Any help?
    Joel

    This is the flow, I don't see how it could be adding twice. The important stuff happens when the printAll(); function is run.
    <fx:Script>
    <![CDATA[
    import mx.controls.Alert;
    import mx.events.FlexEvent;
    import mx.printing.FlexPrintJob;
    import mx.rpc.events.ResultEvent;
    public var Orders:Object = new Object();
    public var printOrders:Array = new Array();
    public var postOrder:String="";
    public var invoiceIndex:int=0;
    private function init():void{
    getDataResult.token = orders.getData();
    getDataResult.addEventListener(ResultEvent.RESULT, Orders_resultHandler);
    private function Orders_resultHandler(event:ResultEvent):void{
    Orders = getDataResult.lastResult;
    for(var i:int=0; i <= Orders.length-1; i++){
    if(Orders[i].print == 0){
    printOrders.push(Orders[i]);
    postOrder=printOrders[0].orderid;
    for(var t:int=1; t <= printOrders.length-1; t++){
    postOrder = postOrder + ","+printOrders[t].orderid;
    private function orderToShipSorter():void{
    private function printAll():void{
    if(invoiceIndex <= printOrders.length-1){
    printableInvoice.generateInvoice(printOrders[invoiceIndex]);
    private function printOrderResult(event:ResultEvent):void{
    private function checkLogin(event:ResultEvent):void{
    private function printJobCreator():void{
    var printJob:FlexPrintJob=new FlexPrintJob();
    printJob.start();
    printJob.addObject(printableInvoice, "showAll");
    printJob.send(); 
    invoiceIndex++;
    printAll();
    protected function printableInvoice_batchGeneratedHandler(event:Event):void
    printJobCreator();
    ]]>
    </fx:Script>

  • Mac OS Lion - General Topic - Wireless Printer, Scanner, External Harddrive, Disk Management

    Dear All,
    I just fall in the mac world since I got an ipad and then an iphone and was very happy about these product I did purchased a mac mini server (Mac OS Lion 10.7.2 I think, basically the last version available).
    But now I need to learn about the Mac OS world and this is not straight forward, particularly regarding my existing hardware devices installation (printer, scanner etc...).
    I have some queries below, anyone who could help me is welcome.
    Thanks for all your support,
    Best Regards,
    1. I have a wireless printer Samsung CLP315W for which I could download the driver and print through the USB cable but I did see yet how to make it work through the WI-FI network. I mean in windows, the printer was detected as shared printer on the network. How does it work here ?
    2. I have a scanner canoscan Lide 30 which looks unfortunately not supported by Lion OS: indeed I could download the scanner toolbox labelled for "Mac OS" but I got the message: "PowerPC application not supported".
    Do I have any chance to make this scanner working or must I throw it in the paper bin ? (I must say I am not satisfied by my Mac in this respect, I would expect a better compatibility with hardware devices.
    3. I do have an external harddisk with various informations in as pictures, pdf files, offices files (word, excel) etc... This is a LaCie which was NTFS formatted with my previous computer based on windows OS.
    At a first instance, it was recognized by my mac OS but all folders appears in read-only.
    Do I have a way to apply the change to "full access" for all folders at once ?
    Why is it in "read only" in mac OS when it is not under windows ?
    Assuming I expect to continue using this disk as external backup but also expect to be able to access to it by windows OS computer, what is the best format ?
    4. I bought a mac mini server with 2*500Go disk, but I just wonder: how to use this disk ? I mean I would see one disk as backup, somehow safe and the second use on daily basis when applications stands.
    How does the disk management in general under Mac OS ?

    Hi jean-jack,
    The first thing you should look at, is if your are Mac enabled. If they are not, then there is a great chance that they will work badly or not at all.
    About your questions:
    1. Normally a Mac is supposed to detect it automatically and make it ready to use (try printing a document to see if this works). If your Mac doesn't recognize it, you can always add it manually in "printing and scanning" in your system preferences. This is accesible by just entering it in Spotlight (magnifying glass in the upper right corner) and adding it via the "+" icon (you may have to enter your password first using the lock in the lower left corner). After that he should recognize it as a WiFi printer and you should be able to use it.
    2. Since it concerns an older scanner, it is simply not supported by Lion (Lion doesn't support PowerPC applications anymore). Therefore it is sadly ready for the trash can.
    3. To change the accesibility of your hard disc to "full acces" you have to ctrl+click on the hard disc in Finder. In the drop down menu, you'll see the option "info". This option will open a small screen that allows you to adjust the settings for "sharing and responsibility" (found at the very bottom). Nevertheless I highly recommend you to format your hard disc to "exFAT" or "FAT32", because they give a much better compatibility to your Mac and are also readable on a Windows computer. You can do this by entering "disc aid program", once again in Spotlight. In this little program you are able to adjust the format of every single hard disc connected to your computer. Also not that this progress will completely erase all the files on your hard disc.
    4. To split the hard disc into partitions, you can use the same program explained above. Simply choose your hard disc and press "adjust size". Here you can divide your hard disc into different partitions, which will be seen as different hard discs.
    Good luck!
    Michaël Duwyn

  • Printing BufferedImage

    I have a Graphics2D plot on a 1272 pixel by 876 pixel BufferedImage that I display on the screen, and that takes about 45 minutes to make on a large set of data I am now working with. What should I use to get this BufferedImage printed before I throw it away?

    Yes, print to paper on the printer the black and white plot that I have on the binary BufferedImage that I show on the screen. I suppose I could save the BufferedImage, but that still doesn't solve the problem of getting it to paper. I am plotting every point of almost a billion three dimensional vectors on three plots simultaneously on the screen BufferedImage. Of course many are on top of each other, but that is OK. I click on the plots to magnify the horizontal axis of the plots where I want to see it in more detail. I can print a (10.5*72)by(7.5*72) BufferedImage because the printer understands points. But that is a really rough picture. I would actually like to go the other way and make the BufferedImage (10.5*300)by(7.5*300) and render it (coarser?) for the screen, but print it at that fineness.

Maybe you are looking for