The question about printing workflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I want to know the details about the printing job workflow.

Currently, I found this site to talk about the printing workflow :
https://wiki.openoffice.org/wiki/Mac_OS_X_Porting_-_Native_Printing

I want to know How does step 3 (as picture Pringting_model) work?
Does it use any Linux system call or API?

I focus on the genprnpsp.cxx and try to understand the full workflow about printing.
In EndJob function, it has call the createPDF(), then createPDF() call the passFileToCommand(), I can't find any file that how calling this function ( all about in genprnpsp.cxx ) in sw folder, so I don't know what the parameter "rCommand" actually do. 

Hope somebody can answer this question.

==========================================

Maybe some developers understand the Chinese, so I describe more complete in Chinese.

不知道有沒有人了解 LibreOffice 將列印工作傳遞給系統時作了什麼動作?

經過有點長時間搜尋的過程仍沒有太大的了解,發問在 askLibreOffice 和 IRC 目前也沒有收到任何回答,於是想問問看這裡。


像是列印過程中 ( 由 LibreOffice 丟工作給外部 Printer 間的這個過程 ) 使用了什麼 API 或是 System call,也就是在 setPrinterInfo 以及 Print start job 之後,是如何進行列印或輸出成 PDF 的。


目前針對列印部分 PspSalPrinter看了 source code ,但透過 visual studio 的檢視呼叫階層找不到呼叫這些 function 的程式。看了 SW 內的程式也還沒有看到跟 PspSalPrinter相關的呼叫。


找了一段時間找到了一篇比較仔細的列印說明,但內容上沒有到很深入,下面附上連結:https://wiki.openoffice.org/…/Mac_OS_X_Porting_-_Native_Pri…

看了他的附圖 Print_model 我想我是想要知道關於第三步驟的詳細作法,也就是經由 svtool 取得使用者想要的列印設定並且準備就緒時,真正呼叫 VCL PspSalPrinter 的部分:


(3) "The user application has now everything needed to print the document. So, it asks VCL to draw pixels, lines, characters, etc on an OutputDevice.

At this point, I don't know exactly where the OutputDevice is instancied (who decides that it would be a screen, an Aqua printer or a PostScript printer. This is not really important since we understand the main idea of how printing works."


但看了 PspSalPrinter 相關的程式碼之後感覺還是沒有真正接觸到系統的呼叫,雖說有找到 createPDF 函式下的 passFileToCommand,但因為程式無法成功 build 起來因此無法確定它其中傳遞的參數裡的指令是做了什麼事。


不知道是否有人對這一方面有了解呢?

Attachment: Printing_model.png
Description: PNG image

_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux