0

中央揃えの画像を含む PDF ファイルを印刷したいと考えています。ドキュメントは QTextDocument と QCursor で作成されます。
しかし、ドキュメントの画像を中央 (水平) に配置する方法が見つかりません。

画像を挿入する方法は次のとおりです。

QTextDocument previewDoc;

QTextCursor cursor(&previewDoc);

// load the picrture as resource of the document
QImage pictureImage("picture.png");
QString pictureUrl = QString("mydata://picture.png");
previewDoc.addResource(QTextDocument::ImageResource, QUrl(pictureUrl), QVariant(pictureImage));

// insert the picture in the document
cursor.insertBlock();
QTextImageFormat pictureFormat;
pictureFormat.setName(pictureUrl);
pictureFormat.setWidth(pictureImage.width()); // 150 pixelfor picture.png
cursor.insertImage(pictureFormat);

// print the document in pdf file
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFileName("output.pdf");
printer.setOutputFormat(QPrinter::PdfFormat);

printer.setPaperSize(QPrinter::A4);
printer.setResolution(300);

previewDoc.print(&printer);

ありがとう

4

1 に答える 1

1

Aligment を HCenter としてブロックを挿入してから、ブロックに画像を挿入してみてください。
例えば

QTextImageFormat pictureFormat;
pictureFormat.setName(imageURL.toString());

// Insert Block
QTextBlockFormat centerFormat;
centerFormat.setAlignment(Qt::AlignHCenter);
cursor->insertBlock(centerFormat);

cursor->insertImage(pictureFormat);

// Move to the end of document
cursor->movePosition(QTextCursor::End);
于 2014-05-29T06:15:07.403 に答える