2017-07-06 26 views
-1

我製作了一個程序,它接收一個RTF文檔並對其進行排序,然後輸出另一個RTF文檔。我有這個打印聲明,我需要操縱marigins使它們變小。我嘗試過一些沒有成功的事情。如何操縱RTF文件中邊距的大小

   if ($_ =~ "ERROR"){ 
       $rtf->prolog(
       'title' => "Color Test", 
       'colors' => [ 
       undef,  
       [0,0,0],  # 1 - black 
       [255,0,0], # 2-red 
       [0,255,0], # 3-green 
       [0,0,255], # 4-blue 
       [255,128,0], # 5-orange 
       [255,255,0], # 6-yellow 
       ], 
       ); 
     #PRINT ERRORS IN RED   
       $rtf->printf(\'{\fs20\lang1036\noproof\cf2\highlight1 %s} \par ', "$_"); 

     } 

我讀了命令是marglN和margrN,但我沒有成功地使用這些。有任何想法嗎?

+1

這些'RTF'模塊中沒有各種查詢方法嗎?爲了查看內容,您不應該(或不想)使用像Data :: Dumper這樣的單獨工具。 – zdim

+0

是的,他們是我沒想到的。但是,當我使用'$編寫器'它做同樣的事情。 – mdavies23

+0

行 - 閱讀文檔。這是基本用途,需要解釋。 (我不使用這個模塊,所以我不能說如何去做,但這裏重要的「答案」是你看看文檔。) – zdim

回答

1

docs

my ($type, $argument, $param) = get_token(); 

$類型是textcontrolgroupescapeeof之一。 我猜你對文字標記感興趣。

文本條目說:$參數包含實際的文本。

所以我建議嘗試:

for my $token (@tokens){ 
    my ($type, $arg) = @$token; 
    next unless $type eq 'text'; 
    print "$arg\n"; 
} 

此代碼是未經測試。