To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=61274


User aw changed the following:

                What    |Old value                 |New value
================================================================================
             Assigned to|aw                        |af
--------------------------------------------------------------------------------
                  Status|STARTED                   |NEW
--------------------------------------------------------------------------------




------- Additional comments from a...@openoffice.org Wed Dec 17 12:56:01 +0000 
2008 -------
AW->AF: Unfortunately the Get/SetPrintableLayers() at the SdrPageView used for
PDF export is not set correctly. Debuuging reveals: PDF export is done using
SdXImpressDocument::render in sd over UNIOI API. There, a new SDrVioew is
constructed (pView = new ::sd::ClientView(..)). At that view, the correct
visible layers for visibility (SetVisibleLayers()) and for printability
(SetPrintableLayers()) need to be set. These should be copied from the active
view where the PDF export was asked from.

There are two ways to do This:
(1) When setting the visible layers from printable layers
(SetVisibleLayers(rOtherView.GetPrintableLayers())), nothng else needs to be 
done

(2) When keeping visibility and printability layer information seperated,
(SetPrintableLayers(rOtherView.GetPrintableLayers())) needs to be dne, and in
inx/source/svdraw/sdrpagewindow.cxx two places wich are now

        // get to be processed layers
        const sal_Bool bPrinter(GetPaintWindow().OutputToPrinter());
        SetOfByte aProcessLayers = bPrinter ? mrPageView.GetPrintableLayers() :
mrPageView.GetVisibleLayers();


need to be replaced with

        // #i61274# get to be processed layers. Use print visibility for printer
    // and (do not forget) PDF exports
        const bool bPrintOrPDF(GetPaintWindow().OutputToPrinter() ||
GetPaintWindow().OutputToPDFWriter());
        SetOfByte aProcessLayers(bPrintOrPDF ? mrPageView.GetPrintableLayers() :
mrPageView.GetVisibleLayers());

I would of course prefer (2) and copying visibility and printability
information. I guess, the layer visibility information will need to be added to
the uno::Sequence< beans::PropertyValue > which is handed over to
SdXImpressDocument::render, but i do not know enough about the used PDF export
mechanism to do that safely.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@graphics.openoffice.org
For additional commands, e-mail: issues-h...@graphics.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to