国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++編輯修改PDF

這篇具有很好參考價值的文章主要介紹了C++編輯修改PDF。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

PDFWriter是一個易于使用的C++創(chuàng)建、修改PDF文檔的庫

1.創(chuàng)建一個PDF文件
#include
#include “PDFWriter.h”
int main()
{
std::cout << “Hello World!\n”;
PDFWriter pdfWriter;
int ret=pdfWriter.StartPDF(“D:\mytestwriterpdf.pdf”, ePDFVersion13);
if (ret == eSuccess)
{
std::cout << “StartPDF Success” << std::endl;
}
ret=pdfWriter.EndPDF();
if (ret == eSuccess)
{
std::cout << “EndPDF Success” << std::endl;
}
}
C++編輯修改PDF,c++,pdf,開發(fā)語言
C++編輯修改PDF,c++,pdf,開發(fā)語言

2.創(chuàng)建一個頁面

#include
#include “PDFWriter.h”
#include “PDFPage.h”

int main()
{
std::cout << “Hello World!\n”;
PDFWriter pdfWriter;
int ret=pdfWriter.StartPDF(“D:\mytestwriterpdf.pdf”, ePDFVersion13);
if (ret == eSuccess)
{
std::cout << “StartPDF Success” << std::endl;
}
PDFPage* page = new PDFPage();
//將"媒體框"設置為A4 //請注意,PDF 頁面具有比媒體框更多的框定義。PDF 定義了裁剪框、出血框、修剪框和藝術框。您可以分別使用 SetCropBox、SetBleedBox、SetTrimBox和SetArtBox來設置這些框。SetCropBoxSetBleedBoxSetTrimBoxSetArtBox
page->SetMediaBox(PDFRectangle(0, 0, 595, 842));
pdfWriter.WritePage(page);
delete page;
ret=pdfWriter.EndPDF();
if (ret == eSuccess)
{
std::cout << “EndPDF Success” << std::endl;
}
}
C++編輯修改PDF,c++,pdf,開發(fā)語言

3.頁面插入圖像
#include
#include “PDFWriter.h”//核心
#include “PDFPage.h”//頁面
#include “PageContentContext.h”//上下文

int main()
{
std::cout << “Hello World!\n”;
PDFWriter pdfWriter;
int ret=pdfWriter.StartPDF(“D:\mytestwriterpdf.pdf”, ePDFVersion13);
if (ret == eSuccess)
{
std::cout << “StartPDF Success” << std::endl;
}
PDFPage* page = new PDFPage();
//將"媒體框"設置為A4 //請注意,PDF 頁面具有比媒體框更多的框定義。PDF 定義了裁剪框、出血框、修剪框和藝術框。您可以分別使用 SetCropBox、SetBleedBox、SetTrimBox和SetArtBox來設置這些框。SetCropBoxSetBleedBoxSetTrimBoxSetArtBox
page->SetMediaBox(PDFRectangle(0, 0, 595, 842));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
cxt->DrawImage(10, 10, “D:\sign.png”);
pdfWriter.EndPageContentContext(cxt);

pdfWriter.WritePage(page);

delete page;
ret=pdfWriter.EndPDF();
if (ret == eSuccess)
{
    std::cout << "EndPDF Success" << std::endl;
}

}
C++編輯修改PDF,c++,pdf,開發(fā)語言

可以看出來圖像嵌入pdf,尺寸過于大了并未顯示全
4.縮放圖像
#include
#include “PDFWriter.h”//核心
#include “PDFPage.h”//頁面
#include “PageContentContext.h”//上下文

int main()
{
std::cout << “Hello World!\n”;
PDFWriter pdfWriter;
int ret=pdfWriter.StartPDF(“D:\mytestwriterpdf.pdf”, ePDFVersion13);
if (ret == eSuccess)
{
std::cout << “StartPDF Success” << std::endl;
}
else
{
return -1;
}
PDFPage* page = new PDFPage();
//將"媒體框"設置為A4 //請注意,PDF 頁面具有比媒體框更多的框定義。PDF 定義了裁剪框、出血框、修剪框和藝術框。您可以分別使用 SetCropBox、SetBleedBox、SetTrimBox和SetArtBox來設置這些框。SetCropBoxSetBleedBoxSetTrimBoxSetArtBox
page->SetMediaBox(PDFRectangle(0, 0, 595, 842));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
//AbstractContentContext::ImageOptions opt;
//opt.transformationMethod = AbstractContentContext::eMatrix;
//opt.matrix[0] = opt.matrix[3] = 0.25;
//opt.matrix[4] = opt.matrix[5] = 100;
//cxt->DrawImage(10, 10, “D:\sign.png”,opt);
AbstractContentContext::ImageOptions opt2;
opt2.transformationMethod = AbstractContentContext::eFit;
opt2.boundingBoxHeight = 100;
opt2.boundingBoxWidth = 100;
opt2.fitProportional = true;
cxt->DrawImage(500,700,“D:\sign.png”,opt2);

pdfWriter.EndPageContentContext(cxt);

pdfWriter.WritePage(page);

delete page;
ret=pdfWriter.EndPDF();
if (ret == eSuccess)
{
    std::cout << "EndPDF Success" << std::endl;
}

}
C++編輯修改PDF,c++,pdf,開發(fā)語言

正常使用時要判斷創(chuàng)建是否成功,再繼續(xù)操作

獲取圖像測量值

有時您可能需要圖像測量。對于庫支持的圖像,可以使用 的方法。例如:GetImageDimensionsPDFWriter
DoubleAndDoublePair jpgDimensions = pdfWriter.GetImageDimensions(“soundcloud_logo.jpg”);
jpgDimensions現(xiàn)在將有一對。第一對是寬度,第二是高度。

寫入文字
PDFUsedFont* font = pdfWriter.GetFontForFile(“D:\simsun.ttc”);
AbstractContentContext::TextOptions textOptions(font,14,AbstractContentContext::eGray,0);
cxt->WriteText(10, 700, “Hello World”, textOptions);
輸入中文時,PDF中并未打印出中文。
用notepad打開Cpp文件,是utf8格式?jīng)]錯。但是在調(diào)試時發(fā)現(xiàn)庫解析時識別為兩個字節(jié)的編碼了。
如果以UTF-8,那么中文會以類似3個字節(jié)保存一個中文的形式保存到磁盤,而使用GBK中文是以類似2個字節(jié)保存一個中文的形式保存到磁盤,這叫編碼,也叫做保存編碼。
增加了GBKtoUtf8,成功顯示出來了
5.打開一個已經(jīng)存在的PDF文件,修改他的某一頁
int main()
{
PDFWriter pdfWriter;
pdfWriter.ModifyPDF(“d:\test.pdf”, ePDFVersion13, “”);
PDFModifiedPage modifiedPage(&pdfWriter, 1);
AbstractContentContext* contentContext = modifiedPage.StartContentContext();

AbstractContentContext::ImageOptions opt2;
opt2.transformationMethod = AbstractContentContext::eFit;
opt2.boundingBoxHeight = 100;
opt2.boundingBoxWidth = 100;
opt2.fitProportional = true;
contentContext->DrawImage(100,700,"D:\\sign.png",opt2);

modifiedPage.EndContentContext();
modifiedPage.WritePage();
pdfWriter.EndPDF();

}

以上是功能測試部分,可以看出PDFWriter的功能還是比較全面的,API也比較簡單。

下一篇:用QT編寫一個PDF編輯器
使用QT5編寫PDF編輯器文章來源地址http://www.zghlxwxcb.cn/news/detail-678766.html

到了這里,關于C++編輯修改PDF的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 如何編輯pdf?推薦福昕高級pdf編輯器

    如何編輯pdf?推薦福昕高級pdf編輯器

    【Note】學校要求加頁并且除去數(shù)字,但是發(fā)的是pdf文件,所以找到了pdf編輯器,編輯器下載連接,以及破解我已經(jīng)放在本文末尾,按照介紹的方法即可破解 這里記得更換一下路徑,從c盤換到別的盤, 然后記住這個路徑 編輯文本識別之后即可修改內(nèi)容

    2024年02月08日
    瀏覽(24)
  • 7個最好的PDF編輯器,幫你像編輯Word一樣編輯PDF

    7個最好的PDF編輯器,幫你像編輯Word一樣編輯PDF

    ?PDF 是具有數(shù)字思維的組織的重要交流工具。提供高效的工作流程和更好的安全性,可以創(chuàng)建重要文檔并與客戶、同事和員工共享。文檔的布局已鎖定,因此無論在什么設備上查看,格式都保持不變。這是讓每個人保持一致的好方法——尤其是那些使用Microsoft Office 替代品的

    2024年01月17日
    瀏覽(26)
  • 【無標題】PDF編輯軟件哪個好用?4款PDF編輯器分享!

    【無標題】PDF編輯軟件哪個好用?4款PDF編輯器分享!

    PDF編輯軟件哪個好用?在我們的日常辦公中,編輯PDF文件是非常方便的一項功能。通過編輯PDF,我們可以對文檔進行修改和調(diào)整,添加或刪除內(nèi)容,以及進行格式和布局的更改。這樣,我們可以更好地符合我們的需求和要求。此外,還可以幫助我們改善文檔的可讀性和專業(yè)性

    2024年02月02日
    瀏覽(26)
  • [PDF編輯精選] 適用于 Windows 10/11 的PDF 編輯器列表

    [PDF編輯精選] 適用于 Windows 10/11 的PDF 編輯器列表

    PDF 是 Portable Document Format 的縮寫,是 Adob??e 創(chuàng)建的一種文件格式,用于在保留格式的情況下輕松查看和共享——無論查看文檔的任何人使用的軟件或操作系統(tǒng)如何。然而,與PDF文檔相關的一個主要問題出現(xiàn)了,那就是編輯文檔內(nèi)容。作為一種解決方案,市場上出現(xiàn)了各種能

    2024年02月22日
    瀏覽(22)
  • 專業(yè)PDF編輯閱讀工具PDF Expert mac中文特點介紹

    專業(yè)PDF編輯閱讀工具PDF Expert mac中文特點介紹

    PDF Expert mac是一款專業(yè)的PDF編輯和閱讀工具。它可以幫助用戶在Mac、iPad和iPhone等設備上查看、注釋、編輯、填寫和簽署PDF文檔。 PDF Expert mac軟件特點 PDF編輯:PDF Expert提供了豐富的PDF編輯功能,包括添加、刪除、移動、旋轉(zhuǎn)、縮放、裁剪等操作,以及文本、圖像、鏈接、表格

    2024年02月07日
    瀏覽(21)
  • PDF編輯和OCR文字識別工具ABBYY FineReader PDF

    PDF編輯和OCR文字識別工具ABBYY FineReader PDF

    ABBYY FineReader PDF是一款專業(yè)的OCR文字識別和PDF編輯工具,可以幫助用戶更好地處理和管理PDF文檔。 以下是ABBYY FineReader PDF的一些特點: 1. 文字識別精準:ABBYY FineReader PDF具有強大的OCR文字識別功能,可以將PDF中的文字準確識別出來,方便用戶進行編輯和搜索。 2. PDF編輯功能強

    2024年02月07日
    瀏覽(22)
  • pdfgear:免費易用的pdf處理軟件,輕松進行pdf文件轉(zhuǎn)換、閱讀、編輯等

    名人說:東邊日出西邊雨,道是無晴卻有晴?!獎⒂礤a 創(chuàng)作者:Code_流蘇(CSDN) (一個喜歡古詩詞和編程的Coder??)

    2024年03月16日
    瀏覽(43)
  • 蘋果電腦上最優(yōu)秀的 PDF 編輯工具 PDF Expert 軟件下載

    蘋果電腦上最優(yōu)秀的 PDF 編輯工具 PDF Expert 軟件下載

    PDF Expert 作為 Mac 上一款出色的 PDF 編輯器,集閱讀、編輯批注、OCR 識別等功能于一身,快速流暢的閱讀體驗,輕松編輯 PDF 文檔,一直以來備受用戶好評。 PDF Expert 下載:訪問(提供 7 天試用) PDF Expert 性能優(yōu)異,不管是郵件附件還是多達 2000 頁的報告,PDF 幾乎即按即開。

    2024年04月25日
    瀏覽(16)
  • PDF有編輯密碼怎么辦

    PDF有編輯密碼怎么辦

    目錄 注意: windows方法: 1 python 下載 2 打開命令行 3 安裝 pikepdf 4 編寫python腳本 5 使用py腳本 6解密完成 Linux方法: 此方法可以用于破解PDF的 編輯密碼 ,而 不是 PDF的 打開密碼 當遇到類似如下問題時可以使用本方法解決: 想要操作復制內(nèi)容時,發(fā)現(xiàn)需要輸入密碼 Python的版本

    2024年01月17日
    瀏覽(13)
  • PDF不能編輯的問題如何解決?

    PDF不能編輯的問題如何解決?

    一般打開PDF文件之后就能夠編輯,如果不能編輯,那應該是設置了什么或者是文件本身是有什么問題,今天和大家分享,PDF不能編輯的原因,以及應對各種原因的解決辦法: ?原因一: PDF文件是掃描文件,可能有些人會認為自己的文檔就是PDF,也不是掃描,這里的掃描件一般

    2024年02月15日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包