Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
DF編輯,翻譯,格式轉(zhuǎn)化,相信每一個(gè)科研人都遇到過這樣的操作。特別是幫導(dǎo)師填各種PDF報(bào)表,修改PDF內(nèi)容,甚至還要弄電子簽名。一旦處理這些PDF文件,很多小伙伴都會焦頭爛額。再加上功能比較強(qiáng)大的PDF編輯軟件如Adobe Acrobat,都是需要收費(fèi)的,那些免費(fèi)的PDF編輯軟件功能又存在各種缺陷。
之前小虎編輯也推薦過Adobe的PDF免費(fèi)網(wǎng)站,但是在PDF編輯功能上使用效果比較有限,此外使用上還需要進(jìn)入無痕模式這類操作。經(jīng)過小虎編輯的再次搜尋,今天給大家?guī)硪豢钭顝?qiáng)的免費(fèi)在線PDF工具,滿足大家對所有PDF的編輯需求。
網(wǎng)址:https://abcdpdf.com/zh-cn/
ABCD PDF的一大特點(diǎn)就是,無需注冊,無需登錄,全程免費(fèi)就可以對PDF進(jìn)行全方位的操作,內(nèi)容編輯,頁面編輯,添加簽名等功能一應(yīng)俱全。而且ABCD PDF還是一款網(wǎng)頁工具,不需要安裝,在網(wǎng)頁中就可以完成我們對PDF的一切操作,然后直接下載PDF文件即可,可以說是相當(dāng)方便了。
第一次打開ABCD PDF的網(wǎng)頁時(shí),可能會全頁面出現(xiàn)英文。如果遇到這種語言設(shè)置不正確的問題,可以通過右上角的語言設(shè)置對全網(wǎng)頁進(jìn)行語言的轉(zhuǎn)換選擇,ABCD PDF支持中文、英文等多種語言的操作設(shè)置。
轉(zhuǎn)換完文字語言后,我們可以直接瀏覽ABCD PDF中所有的功能操作。列表基本上羅列的比較清晰,根據(jù)我們的需要打開對應(yīng)的功能即可。
比如在PDF在線編輯器的功能中,我們點(diǎn)擊中間的【Select File】將我們的PDF文件進(jìn)行上傳。經(jīng)過筆者測試,ABCD PDF不支持拖拽上傳,只能通過上傳窗口進(jìn)行文件的上傳,也算是ABCD PDF的一個(gè)小的不足之處了。
上傳完成后,網(wǎng)頁中會直接加載出類似于在線Word的頁面,可以在這一頁面對PDF內(nèi)容進(jìn)行詳細(xì)的編輯。比較遺憾的是,在這里無法使用中文的文字,因此只能看英文了解各個(gè)工具的使用方法。根據(jù)功能,我們可以對提交的PDF進(jìn)行文字編輯,調(diào)整字體的格式、大小、顏色等內(nèi)容,添加圖片,高亮文字,遮擋文字,畫筆,替換全文內(nèi)容,插入簽名等操作。
當(dāng)進(jìn)行完所有操作后,點(diǎn)擊右下角的【完成】按鈕,即可進(jìn)入編輯后的文獻(xiàn)下載頁面,在這里可以瀏覽我們編輯好的PDF樣式,并且在上方可以直接選擇下載或者刪除處理好的PDF文件。
在合并PDF頁面,我們可以上傳兩個(gè)文件,然后直接進(jìn)行合并,下載合并后的文件即可。
再刪除頁面功能中,我們可以對上傳后的PDF文件的每一頁進(jìn)行刪減,選擇后,刪除的頁面會出現(xiàn)【X】的標(biāo)記。點(diǎn)擊【轉(zhuǎn)換】后,即可下載查看刪除頁面后的文件。
除了這些PDF編輯功能外,ABCD PDF還支持PDF和其他文件格式的相互轉(zhuǎn)換,包括Word,PNG,HTML等格式。
除了強(qiáng)大的PDF在線處理功能外,ABCD PDF還支持Word,Excel,PPT的在線編輯和創(chuàng)建功能,可以滿足一些緊急情況下的文件編輯需求。
除了直接在網(wǎng)頁中使用ABCD PDF的在線網(wǎng)頁版,ABCD PDF也提供了瀏覽器插件版進(jìn)行安裝使用。可以在ABCD PDF主頁面的最下方,通過右側(cè)的【BROWSER EXTENSION】下方提供的鏈接,根據(jù)需要在不同的瀏覽器上安裝Abcd pdf插件。當(dāng)然也可以使用瀏覽器自帶的插件商店進(jìn)行安裝使用。插件的功能使用與網(wǎng)頁版一致,打開速度和效果比網(wǎng)頁快得多。
以上就是這款PDF在線神器的介紹,相信有了這款PDF神器,能幫助大家解決絕大多數(shù)的PDF編輯操作,更好地助力科研工作。
們在開發(fā)各種管理系統(tǒng)的時(shí)候,不免需要將一些報(bào)表導(dǎo)出為PDF,這使用率應(yīng)該來說是還相當(dāng)廣的,今天,小編將給大家推薦一個(gè)HTML轉(zhuǎn)PDF的利器,神器,有了他,如虎添翼。
什么html2pdf,pdflib,FPDF這些可能也有不少人用過,但,我推薦的不是這個(gè),也是我們的:wkhtmltopdf
wkhtmltopdf
并且wkhtmltoimage
是開源的(LGPLv3)命令行工具來渲染HTML到使用Qt WebKit渲染引擎PDF和各種圖像格式。這些運(yùn)行完全“無頭”,不需要顯示或顯示服務(wù)。
還有一個(gè)C庫,如果你是這樣的事情。
我如何使用它?
下載預(yù)編譯的二進(jìn)制文件或從源代碼構(gòu)建
創(chuàng)建您想要轉(zhuǎn)換為PDF(或圖像)的HTML文檔
通過該工具運(yùn)行您的HTML文檔。
例如,如果我真的很喜歡Google今天對他們的徽標(biāo)所做的處理,并希望以PDF形式永久捕獲它:
wkhtmltopdf http://google.com google.pdf
其他選項(xiàng)
這很好,我一直想把Google的主頁變成PDF,但是我也想要一個(gè)目錄。
有很多命令行選項(xiàng)。查看自動生成的wkhtmltopdf手冊。
獲取核心
命令行工具很棒,但我想要一個(gè)C庫。
沒問題。檢查圖書館的文件。
真實(shí)世界的例子?
正如我們所說,如果您今天真的很喜歡Google的主頁,并且希望將其保存為PDF,則可以使用wkhtmltopdf。
說真的,你可以用它來生成發(fā)票,生成生日賀卡,或其他各種有趣的事情。只是用你的想象力!
wkhtmltopdf,wkhtmltopdf可以直接把任何一個(gè)可以在瀏覽器中瀏覽的網(wǎng)頁直接轉(zhuǎn)換成一個(gè)pdf,首先說明一下它不是一個(gè)C#類 其他語類的方法封裝,而是一個(gè)把html頁面轉(zhuǎn)換成pdf的一個(gè)軟件(需要安裝在服務(wù)器上),但是它并不是一個(gè)簡單的桌面軟件,而且它直接cmd批處理的,我們可以很簡便的調(diào)用它。
今天我通過一個(gè)asp .net core mvc的例子給大家介紹下他的使用方法:
首先,我們先在https://wkhtmltopdf.org/downloads.html 下載相應(yīng)的服務(wù)器系統(tǒng) wkhtmltopdf軟件
當(dāng)然,在https://github.com/wkhtmltopdf/wkhtmltopdf 我們也可以查到一些具體的應(yīng)用例子
我在先nuget添加了:https://github.com/cp79shark/Shark.PdfConvert,這個(gè)封裝了.net core調(diào)用wkhtmltopdf的常用操作方法,可以直接快速引用。
什么是Shark.PdfConvert?
Shark.PdfConvert是WkHtmlToPdf工具的一個(gè)簡單的.NET Core(也是目標(biāo)net451)包裝器。大多數(shù)選項(xiàng)通過PdfConversionSettings對象公開,其他可以通過使用自定義覆蓋來指定所需的配置區(qū)域。
轉(zhuǎn)換設(shè)置默認(rèn)值是為Windows環(huán)境設(shè)置的,并假定您已安裝WkHTMLToPDF(x64)工具。您可以通過重寫PdfConversionSettings來覆蓋工具的路徑。PdfToolPath。
您將需要安裝/下載WkHtmlToPdf,它不嵌入在NuGet包中
示例1:靜態(tài)HTML內(nèi)容
PdfConvert.Convert(new PdfConversionSettings{ Title = "My Static Content", Content = @"<h1>Lorem ipsum dolor sit amet consectetuer adipiscing elit I SHOULD BE RED BY JAVASCRIPT</h1> <script>document.querySelector('h1').style.color = 'rgb(128,0,0)';</script>", OutputPath = @"C:\temp\temp.pdf"});
示例2:從URL獲取內(nèi)容
PdfConvert.Convert(new PdfConversionSettings{ Title = "My Static Content from URL", ContentUrl = "http://www.lipsum.com/", OutputPath = @"C:\temp\temp-url.pdf"});
示例3:使用流進(jìn)行輸出和輸入
PdfConversionSettings config = new PdfConversionSettings{ Title = "Streaming my HTML to PDF"};using (var fileStream = new FileStream(Path.GetTempFileName() + ".pdf", FileMode.Create)){ var task = new System.Net.Http.HttpClient().GetStreamAsync("http://www.google.com"); task.Wait(); using (var inputStream = task.Result) { PdfConvert.Convert(config, fileStream, inputStream); }}
樣品4:混合和匹配
PdfConversionSettings config = new PdfConversionSettings{ Title = "A little bit of Everything", GenerateToc = true, TocHeaderText = "Table of MY Contents", PageCoverUrl = "https://blackrockdigital.github.io/startbootstrap-landing-page/", ContentUrl = "http://www.lipsum.com/", PageHeaderHtml = @" <!DOCTYPE html> <html><body> <div style=""background-color: red; color: white; text-align: center; width: 100vw;"">SECRET SAUCE</div> </body></html>"};using (var fileStream = new FileStream(Path.GetTempFileName() + ".pdf", FileMode.Create)){ PdfConvert.Convert(config, fileStream);}
示例5:MVC控制器操作中的用法
public IActionResult ConvertToPdf([FromBody] PdfConversionSettings model) { // TAKE CARE WHEN Accepting the Conversion Settings from user land, it would be best // to just NOT DO it, accept your own custom model and map the parameters as needed. // If you insist, then you could do something like the following to prevent malicious code execution // in my testing the Custom*Args members are not a valid attack vector, PdfToolPath certainly is, never* trust // the client#if DEBUG // set path to executable, UNSAFE DEBUG USE ONLY FOR TESTING model.PdfToolPath = model.PdfToolPath ?? _host.ContentRootPath + @"\wkhtmltopdf.exe";#else // set path to executable model.PdfToolPath = _host.ContentRootPath + @"\wkhtmltopdf.exe";#endif if (model.OutputFilename.EndsWith(".pdf") == false) model.OutputFilename = model.OutputFilename + ".pdf"; var memoryStream = new MemoryStream(); PdfConvert.Convert(model, memoryStream); return new FileContentResult(memoryStream.ToArray(), MimeTypes.Pdf) { FileDownloadName = model.OutputFileName };}
在Controller中的
[HttpPost]
public async Task<IActionResult> ExportPdf(PdfConversionSettings model)
{
var saveFilePath = "/upload/"+ model.Title + ".pdf";
model.PdfToolPath = FileHelper.MapPath("wkhtmltox/wkhtmltopdf.exe");
model.OutputPath = FileHelper.MapPath(saveFilePath);
FileHelper.DeleteFile(saveFilePath);
var ms= new MemoryStream();
var head = @"
<!DOCTYPE html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
<meta name=""viewport"" content=""width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0,user-scalable=no"">
<meta name=""apple-mobile-web-app-capable"" content=""yes"" />
<title></title>
<link rel=""stylesheet"" type=""text/css"" href=""/lib/art-dialog/css/dialog.css"" />
<link rel=""stylesheet"" type=""text/css"" href=""/admin/skin/icon/iconfont.css"" />
<link rel=""stylesheet"" type=""text/css"" href=""/admin/skin/default/style.css"" />
<style type=""text/css"">
h1{line-height:70px;margin-top:20px;font-size:40px;font-weight:bold;text-align:center;}
body,div,p {line-height:50px; font-family: 'Microsoft YaHei';font-size:25px;}
img{text-align:center;width:120%;height:400px;}
table,tr,td{height:40px;}
</style></head><body>";
model.PageWidth = 210;
model.PageHeight = 297;
//model.Margins = new PdfPageMargins { Top = 100, Left = 20 };
//model.Size = PdfPageSize.A4;
model.Content = head + model.Content + "</body></html>";
PdfConvert.Convert(model, ms);
FileStream fileStream = null;
try
{
fileStream = new FileStream(model.OutputPath, FileMode.Create);
ms.WriteTo(fileStream);
}
catch(Exception ex)
{
return Json(new
{
status = 0,
message = "導(dǎo)出PDF出錯!" + ex.Message
});
}
finally
{
ms.Close();
fileStream.Close();
}
return Json(new
{
status = 1,
message = "PDF導(dǎo)出成功!",
url = Request.Scheme + "://" + Request.Host.ToUriComponent() + "/" + saveFilePath
});
}
這就是我的具體生成實(shí)現(xiàn)方法。
導(dǎo)出PDF界面
導(dǎo)出后的PDF
數(shù)字化時(shí)代,HTML網(wǎng)頁文件已成為我們獲取和分享信息的主要方式。但有時(shí),為了保留網(wǎng)頁的格式和內(nèi)容,我們可能需要將其轉(zhuǎn)換為PDF文檔。此時(shí),首助編輯高手軟件將是您的得力助手。下面,就讓我們一起了解如何使用首助編輯高手將HTML網(wǎng)頁文件轉(zhuǎn)為PDF文檔。
第一步,打開軟件,在眾多功能板塊中,選擇“PDF編輯工具”中的“批量轉(zhuǎn)換格式”功能
第二步,在轉(zhuǎn)換模式對應(yīng)的下拉列表中,將選項(xiàng)切換為“HTML轉(zhuǎn)PDF”
第三步,通過“添加文件”或者“添加文件夾中的文件”將HTML網(wǎng)頁文件導(dǎo)入,支持導(dǎo)入多個(gè)
第四步,設(shè)置新文件保存位置,可以將新文件保存在原文件相同位置,也可以指定位置
第五步,確定選擇好一系列相關(guān)的選項(xiàng)之后,單擊右下角的“開始轉(zhuǎn)換”按鈕
第六步,提示轉(zhuǎn)換成功后,打開文件夾查看,所有HTNL網(wǎng)頁文件都被轉(zhuǎn)為PDF文檔,最后也可以打開原文件進(jìn)行對比,原文件均為HTML,說明轉(zhuǎn)換成功
總之,軟件以其簡潔的操作界面、強(qiáng)大的功能和高效的轉(zhuǎn)換速度,成為了將HTML網(wǎng)頁文件轉(zhuǎn)為PDF文檔的理想選擇。無論您是學(xué)生、上班族還是專業(yè)人士,都能滿足您的需求,讓您的文檔處理變得更加輕松和高效。趕快下載并體驗(yàn)首助編輯高手吧!
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。