2011-10-19 9 views
1

私はUIViewControllerの内容からpdfを作成します。 UIViewControllerにテーブル領域(Excelと同じ)がある場合、pdfドキュメントでテーブルを描画する方法が見つかりませんでした。 誰もがこの問題を解決することを知っていますか?私を助けてください。iOSがpdf文書の表を描画します

答えて

4

Quartzグラフィックスコンテキスト(CGContextRefタイプ)を使用している場合、私が知っているテーブルを簡単に作成する方法はありません。私は、ネストされたforループ内のPDF上に線を引いて、見栄えを良くするために間隔に細心の注意を払って、プログラムでテーブルを作成することができました。

擬コード:

for (int i=0; i < numberOfRows; i++) 
{ 
// display each row 
    // Draw row line 
    CGPoint horizontalRowDivider[2] = {CGPointMake(x_startPoint, y_startPoint + (i * row_width)), CGPointMake(x_endPoint, y_endPoint + (i * row_width))}; 
    CGContextStrokeLineSegments(pdfContext, newlineItemDivider, 2); 


    for(int j = 0; j < numberOfColumns; j++) 
    { 
     //Draw each column cell 
     const char *desc_text = "Table value" 
     CGContextShowTextAtPoint (pdfContext, x_cellDataLoc, y_cellDataLoc, desc_text, strlen(desc_text)); 
     CGPoint verticalLineCellDivider[2] = {CGPointMake(x_startPoint + (j * col_width), y_startPoint), CGPointMake(x_endPoint + (j * col_width), y_endPoint)}; 
     CGContextStrokeLineSegments(pdfContext, verticalLineCellDivider, 2); 
    } 


} 

これは、テーブルを描画するために使用するかもしれないロジックの種類の大まかな例です。おそらくテーブルの周りに四角形や枠線が表示され、他の種類の調整の中から見た目が正しいようにすることができます。以下のリンクから、それを行う方法に関する方法のリストを見つけることができます。私はこれがおそらくあなたが念頭に置いたものではないことを承知していますが、あなたが完全に立ち往生していれば、これはあなたに何らかの方向性を与えることを望みます。がんばろう!

PDFの描画に使用できる関数のライブラリの完全なリストは、Appleのドキュメントを参照してください。http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGContext/Reference/reference.html

関連する問題