⑴ 如何用.NET將DWG文件列印為pdf
pdf是掃描件,這個需要列印之後,掃描就是PDF文件了
⑵ c#怎麼實現pdf手寫簽名
你可以試一下 Grapecity Documents For PDF。這是一款.NET PDF 文檔API,適用於所有 .NET Standard 2.0 及以上標準的平台,以編碼的方式,無需 Adobe Acrobat 組件 ,超快批量處理 PDF 文件,滿足關於 PDF 文檔的一切需求。網頁鏈接
GrapeCity Documents for PDF 使用基於圖像的數字化簽名(使用 X509 證書),用以實現文檔安全性和工作流管理。
除此之外,Grapecity Documents For PDF 最大的特色總結如下:
產品架構靈活、輕量
輕量級產品架構可節省系統處理 PDF 時佔用的內存和時間。與同類產品相比,GrapeCity Documents for PDF 可用於生成更高質量的 PDF 文檔。
完全兼容 Adobe PDF
GrapeCity Documents for PDF 符合 Adobe PDF 1.7 規范,可在不影響 PDF 文檔功能和設計的情況下,完成創建、編輯、存儲、合並、拆分等多種功能。
全文本支持
GrapeCity Documents for PDF 支持 PDF 文檔的所有文本和段落格式,同時還支持特殊字元、多種語言(包括中文)、RTL 格式、垂直拆分和旋轉文本。
100 種以上的 PDF 功能
使用 GrapeCity Documents for PDF,您可以隨意添加、刪除、拷貝、移動、保護、更改頁面大小、方向、轉換為線性化 PDF 以及壓縮 PDF 文件。
全面支持 .NET 平台
GrapeCity Documents for PDF 支持所有 .NET 平台,並允許您在應用程序中與 .NET Core 2.0 +、.NET Framework、Mono、Xamarin.iOS 和 Xamarin.Android 一起使用。
將應用程序部署到雲端
GrapeCity Documents 可用於雲應用程序開發,使用 NuGet 和 GrapeCity Documents for PDF,您可直接部署到網路雲、阿里雲、騰訊雲、Azure 和 AWS 中。
簡單來說,使用 GrapeCity Documents for PDF 可以輕松實現:
可生成線性化 PDF 文檔,通過 Internet 更快地進行查看
用代碼生成、載入、編輯、合並/拆分大型 PDF 文檔
支持多種語言(如中文)、特殊字元以及 RTL 格式
支持 100 種以上的 PDF 功能網頁鏈接
⑶ pdfapi如何塗色塊
pdf塗色的方法
1:首先在電腦上下載並安裝AdobeReader軟體,安裝之後打開此軟體在左上角文件中打開需要填充顏色的平面圖;
2:選好平面圖後在主界面右上角點擊注釋菜單;
3:進入注釋菜單後根據所填充平面圖的特徵,選擇圖畫標記;
4:用選擇的圖畫標記工具確定需要填充顏色的區域;
5:之後用滑鼠點擊確定的填充區域邊框,點擊滑鼠右鍵,選擇下拉菜單屬性,在打開的菜單屬性中選擇填充顏色,點擊確定,顏色填充結束。
⑷ .net如何將頁面生成pdf
using System;
using System.IO;
using System.Text;
using System.Collections;
namespace PDFGenerator
{
public class PDFGenerator
{
static float pageWidth = 594.0f;
static float pageDepth = 828.0f;
static float pageMargin = 30.0f;
static float fontSize = 20.0f;
static float leadSize = 10.0f;
static StreamWriter pPDF=new StreamWriter("E:\\myPDF.pdf");
static MemoryStream mPDF= new MemoryStream();
static void ConvertToByteAndAddtoStream(string strMsg)
{
Byte[] buffer=null;
buffer=ASCIIEncoding.ASCII.GetBytes(strMsg);
mPDF.Write(buffer,0,buffer.Length);
buffer=null;
}
static string xRefFormatting(long xValue)
{
string strMsg =xValue.ToString();
int iLen=strMsg.Length;
if (iLen<10)
{
StringBuilder s=new StringBuilder();
int i=10-iLen;
s.Append('0',i);
strMsg=s.ToString() + strMsg;
}
return strMsg;
}
static void Main(string[] args)
{
ArrayList xRefs=new ArrayList();
//Byte[] buffer=null;
float yPos =0f;
long streamStart=0;
long streamEnd=0;
long streamLen =0;
string strPDFMessage=null;
//PDF文檔頭信息
strPDFMessage="%PDF-1.1\n";
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
strPDFMessage="1 0 obj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="<< /Length 2 0 R >>\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="stream\n";
ConvertToByteAndAddtoStream(strPDFMessage);
////////PDF文檔描述
streamStart=mPDF.Length;
//字體
strPDFMessage="BT\n/F0 " + fontSize +" Tf\n";
ConvertToByteAndAddtoStream(strPDFMessage);
//PDF文檔實體高度
yPos = pageDepth - pageMargin;
strPDFMessage=pageMargin + " " + yPos +" Td\n" ;
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage= leadSize+" TL\n" ;
ConvertToByteAndAddtoStream(strPDFMessage);
//實體內容
strPDFMessage= "(http://www.wenhui.org)Tj\n" ;
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage= "ET\n";
ConvertToByteAndAddtoStream(strPDFMessage);
streamEnd=mPDF.Length;
streamLen=streamEnd-streamStart;
strPDFMessage= "endstream\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
//PDF文檔的版本信息
xRefs.Add(mPDF.Length);
strPDFMessage="2 0 obj\n"+ streamLen + "\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
strPDFMessage="3 0 obj\n<</Type/Page/Parent 4 0 R/Contents 1 0 R>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
strPDFMessage="4 0 obj\n<</Type /Pages /Count 1\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="/Kids[\n3 0 R\n]\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="/Resources<</ProcSet[/PDF/Text]/Font<</F0 5 0 R>> >>\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="/MediaBox [ 0 0 "+ pageWidth + " " + pageDepth + " ]\n>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
strPDFMessage="5 0 obj\n<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding/WinAnsiEncoding>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
strPDFMessage="6 0 obj\n<</Type/Catalog/Pages 4 0 R>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
streamStart=mPDF.Length;
strPDFMessage="xref\n0 7\n0000000000 65535 f \n";
for(int i=0;i<xRefs.Count;i++)
{
strPDFMessage+=xRefFormatting((long) xRefs[i])+" 00000 n \n";
}
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="trailer\n<<\n/Size "+ (xRefs.Count+1)+"\n/Root 6 0 R\n>>\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="startxref\n" + streamStart+"\n%%EOF\n";
ConvertToByteAndAddtoStream(strPDFMessage);
mPDF.WriteTo(pPDF.BaseStream);
mPDF.Close();
pPDF.Close();
}
}
另外:C#中生成PDF文件的方法挺多,可以使用iTextSharp控制項,還有aspose的控制項也可以。這些控制項的功能都很強大,所以控制項的大小也會很大
⑸ .net列印pdf文件
方法一(web):window.print()
print()方法是瀏覽器列印功能的一種程序調用。print方法用於列印當前窗口的內容。
列印當前頁:
function printPage(){
window.print();
}
列印局部頁面:
前端頁面:<iframe style="width:100%;height:100%;" id="fileId" src="文件路徑">
</iframe>
<input type="button" name="print" id="print" value="列印" />
js:$("#print").click(function () {
var iframe = document.getElementById("fileId");
iframe.contentWindow.print();
});
方法二:調用系統API(得保證本地裝有相關的軟體)
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = "Microsoft Print to PDF";
Process p = new Process
{
StartInfo = new ProcessStartInfo
{
CreateNoWindow = false,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
FileName = filePath,//文件路徑
Verb = "print",
Arguments = @"/p /h \" + filePath + "\"\"" + pd.PrinterSettings.PrinterName + "\""
}
};
p.Start();
p.WaitForExit();
方法三:spire列印方式(收費)下面是簡單的使用例子
var pdf = new PdfDocument(filePath);
//設置列印機
pdf.PrintSettings.PrinterName = "Microsoft Print to PDF";
pdf.print();
方法四:安裝RawPrint
var printer = new Printer();
var file = File.Open(filePath, FileMode.Open);
byte[] array = new byte[file.Length];
file.Read(array, 0, array.Length);
printer.PrintRawStream(printerName, file, "列印機上顯示的任務名");
file.Close();
printer.PrintRawFile(printerName, fileFullPath, "列印機上顯示的任務名");
這個測試時虛擬列印機上正常,使用公司列印機時出現亂碼問題以及列印任務不停的問題
⑹ 請問各位大神:1.怎麼實現將PDF顯示在asp.net的網頁之中,求詳細操作與代碼
直接輸出流文件到頁面上即可
我這個是根據路徑讀取到PDF在展示的 你可以根據你的需求修改下即可
經過測試是OK的 祝你好運
/// <summary>
/// 根據路徑讀取PDF文件
/// </summary>
/// <param name="path">路徑</param>
/// <returns>位元組數組</returns>
private byte[] GetPdfByPath(string path)
{
try
{
FileStream fs = File.Open(path, FileMode.Open);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("content-disposition", "filename=pdf");
HttpContext.Current.Response.AddHeader("content-length", buffer.Length.ToString());
HttpContext.Current.Response.BinaryWrite(buffer);
return buffer;
}
catch (Exception ex)
{
log.Error("方法:GetPdfByPath error", ex);
return null;
}
}
⑺ c# 實現PDF文件預覽功能
利用Adobe PDF Reader 控制項,實現在Winform中預覽PDF文檔。 實現方法如下:
(1)前提條件
必須事先在計算機安裝Adobe Reader軟體。Adobe Reader是免費軟體,可以從Adobe官網下載安裝
(2)在Visual Studio中新建一個「Windows 窗體應用程序」項目
(3)在工具箱上點滑鼠右鍵-->選擇項 -->COM組件-->Adobe PDF Reader