incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "蜗牛" <>
Subject a question of Export custom file format?
Date Thu, 07 Jun 2012 00:24:39 GMT
hi Armin
 can i modify the SDK to achieve my need.
 achieve  demo code as below:

 Reference< XRenderable > xRenderable( mxSrcDoc, UNO_QUERY )
VCLXDevice*                 pXDevice = new VCLXDevice;
PDFWriter*  pPDFWriter = new PDFWriter(
aURL.GetMainURL(INetURLObject::DECODE_TO_IURI), PDFWriter::PDF_1_4,
eCompressMode );
OutputDevice*  pOut = pPDFWriter->GetReferenceDevice();
pXDevice->SetOutputDevice( pOut );
GDIMetaFile aMtf;
const MapMode   aMapMode( MAP_100TH_MM );
const Size      aMtfSize( aPageSize.Width, aPageSize.Height );

pOut->EnableOutput( FALSE );
pOut->SetMapMode( aMapMode );

aMtf.SetPrefSize( aMtfSize );
aMtf.SetPrefMapMode( aMapMode );
aMtf.Record( pOut );

xRenderable->render( nSel - 1, aSelection, aRenderOptions );

if( aMtf.GetActionCount() )
    bRet = ImplExportPage( *pPDFWriter, aMtf, nCompressMode ) || bRet;


just provide the output of the VCL. To meet my needs.
 If this idea can be.
How do I do?

On 06.06.2012 12:23, 蜗牛 wrote:
> hi  Armin
>     could you give me  a example of  use your Way doing a new
> exporter, assuming that the file format is pdf?

It would be more or less the same as every UNO API based export, iterate 
over the document, the pages and the shapes. Instead of getting a 
MetaFile from the shape (using Graphicxporter) you would get the 
sequence of primitives and use that as base geometry information.

You cannot use this when you want to develop an extension, the UNO API 
for primitives is minimal currently and thus you would have to link 
against office components (what the definition of extension does not 
allow). To do this, the most needed primitives would need to get an UNO 
API implementation first.

>   Regards


  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message