<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Caolán McNamara <<a href="mailto:caolanm@redhat.com">caolanm@redhat.com</a>> 於 2022年5月26日 週四 下午6:33寫道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 2022-05-25 at 21:42 +0800, Mark Hung wrote:<br>
> here is another precondition: OutputDevice must be a printer (bPrt<br>
> ==true)<br>
<br>
I think this requires that "Use printer metrics for document<br>
formatting" is enabled to get to this path (tools, options, writer,<br>
compatibility) which I think is "PrinterIndependantLayout" of<br>
"disabled" in the config setting in the file format.<br>
<br>
If I create a new document, enable that "use printer metrics", add some<br>
text and then use the "file, print" dialog and I get a hit of bPrt of<br>
true. If you can reproduce the same I think that backtrace is valuable<br>
to you to attempt a test, e.g. PrintOrPDFExport(pOut, ...) where I see<br>
pOut->GetOutDevType() is OUTPUT_PRINTER (unotxdoc.cxx:2962) so I'd<br>
guess something like<br>
<br>
a doc with "use printer metrics" enabled<br>
ScopedVclPtrInstance<Printer> printer,<br>
SwViewShell::PrintOrPDFExport(printer, ...<br>
might get you where you want to go<br>
<br>
</blockquote></div><br clear="all"><div>Now I can make both bPrt and bStretch true, if I enable  "Use printer metrics for document</div>formatting" and insert some code in 

PrintOrPDFExport to set ScaleX and ScaleY.<div>I guess I can continue with that for my unit test. Interestingly, I didn't find any place it is set for the printer. </div><div>I wonder if it is something that is no longer useful. In that case, we may remove the code completely.<br><div><br></div><div>Thank you.<br><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Mark Hung<br></div></div></div></div></div></div>