導航:首頁 > 文檔加密 > netapipdf

netapipdf

發布時間:2022-12-28 22:35:39

1. C#如何實現對pdf文件的內容修改

你可以試一下 Grapecity Documents For PDF。這是一款.NET PDF 文檔API,適用於所有 .NET Standard 2.0 及以上標準的平台,以編碼的方式,無需 Adobe Acrobat 組件 ,超快批量處理 PDF 文件,滿足關於 PDF 文檔的一切需求。網頁鏈接

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 可以輕松實現:

2. .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, "列印機上顯示的任務名");

這個測試時虛擬列印機上正常,使用公司列印機時出現亂碼問題以及列印任務不停的問題

3. 如何用.NET將DWG文件列印為PDF

pdf是掃描件,這個需要列印之後,掃描就是PDF文件了

4. c# 實現PDF文件預覽功能

利用Adobe PDF Reader 控制項,實現在Winform中預覽PDF文檔。 實現方法如下:

(1)前提條件

必須事先在計算機安裝Adobe Reader軟體。Adobe Reader是免費軟體,可以從Adobe官網下載安裝

(2)在Visual Studio中新建一個「Windows 窗體應用程序」項目

(3)在工具箱上點滑鼠右鍵-->選擇項 -->COM組件-->Adobe PDF Reader

5. 安裝文電通PDF Gold後,重開機不能啟動,顯示STOP:COOOO21AUNKNOWNHARDERROR,現裝系統為GHOST-XP SP3,

錯誤名稱 0xC000021A:STATUS_SYSTEM_PROCESS_TERMINATED (xyz5819 意念時空)
故障分析 0xC000021A錯誤表示用戶模式子系統有所損壞,例如 WINLOGON或客戶伺服器運行時子系統(CSRSS)。這個錯誤一般是因為Windows的系統文件受到了損壞或丟失,或者
Windows的安裝文件夾被設置了錯誤的訪問許可權等原因引起的。
如果遇到0xC000021A錯誤,建議嘗試以「最後一次正確的配置」方式啟動 Windows;如果故障依舊,請重新安裝Windows。另外某些存在BUG的安全防護類軟體可能會將Windows的系統文件當作惡意程序查殺,這時將造成Windows系統文件被誤刪除、在啟動Windows時即出現0xC000021A錯誤的現象。例如2007年5月,諾頓殺毒軟體將安裝有MS06-070更新的中文版Windows XP的系統文件NETAPI32.DLL、LSASRV.DLL誤識別為病毒進行了隔離,造成Windows XP啟動時即出現0xC000021A錯誤,Windows XP無法完成啟動。在手動恢復了正確的系統文件NETAPI32.DLL及LSASRV.DLL後方可解決。(xyz5819 意念時空)
0xC000021A: STATUS_SYSTEM_PROCESS_TERMINATED (xyz5819 意念時空)
◆錯誤分析:用戶模式子系統, 例如Winlogon或客服服務運行時子系統(CSRSS)已損壞, 所以無法再保證安全性, 導致系統無法啟動. 有時, 當系統管理員錯誤地修改了用戶帳號許可權, 導致其無法訪問系統文件和文件夾.(xyz5819 意念時空)
◇解決方案:使用"最後一次正確的配置", 如果無效, 可使用安裝光碟進行修復安裝. (xyz5819 意念時空)
另外,知友可以下載BlueScreenView,使用它去讀取 C:\Windows\minimp\*.dmp文件,看看具體是哪些文件引起的這種藍屏錯誤.(xyz5819 意念時空)

開機按F8進安全模式,設置操作系統進入干凈啟動狀態:
a. 點擊開始菜單並在搜索框中輸入msconfig,然後按回車鍵。(xyz5819 意念時空)
b. 點擊「服務」標簽卡,選擇「隱藏所有的微軟服務」,然後點擊全部禁用。(如果可選)
c. 點擊「啟動」標簽卡, 然後點擊全部禁用並確定。(xyz5819 意念時空)
然後重新啟動計算機。當彈出「系統配置實用程序」的時候,選中此對話框中的「不再顯示這條信息」並點擊確定。(xyz5819 意念時空)
提示: 臨時禁用啟動項只是為了預防啟動載入時遇到的問題。此操作不會影響系統或者其他程序,以後我們可以以手動啟動的方式來啟動這些程序。(xyz5819 意念時空)

糾正錯誤後,再從干凈啟動狀態回復到正常啟動模式:(xyz5819 意念時空)
a. 點擊開始菜單並在搜索框中輸入msconfig,然後按回車鍵。(xyz5819 意念時空)
b. 在「常規」選項卡上,單擊「正常啟動 - 載入所有設備驅動程序和服務」。
c. 單擊「確定」。當提示您重新啟動計算機時,單擊「重新啟動」。(xyz5819 意念時空)

若藍屏仍舊在安全模式下出現, 問題就可能是由於硬體不穩定導致的.建議聯系電腦廠商對硬體進行排查.如果最近有改動過一些硬體或是硬體驅動,建議改回來確認問題情況.
以下是一些硬體藍屏的排錯常規步驟,你可以嘗試一下:(xyz5819 意念時空)
1.如果最近有更換硬體,請您將新硬體更換回之前的硬體或是其他新硬體.
2.如果您有多根內存條,請您只保留一根,將其餘的拔除.(xyz5819 意念時空)
3.確認接線等是否疏鬆,機箱內的灰塵是否過多,進行固定和清理.
4.更換其他的電源.(xyz5819 意念時空)
5.如果你是筆記本電腦,遇到硬體故障,最好還是聯系售後進行維修.

另外,如果,安全模式能進系統,建議卸載文電通PDF Gold,換其他版本或網站重新下載安裝,

如果安全模式也無法進去,先按上述修復硬體錯誤,然後,開機按DEL鍵(筆記本按F2鍵)進BIOS設置光碟或U盤引導電腦進WinPE(需要你有帶WinPE的光碟或U盤啟動盤,沒有就買或自己做一個).(xyz5819 意念時空).進PE後,使用辦法恢復系統,或者格式化C盤,重新安裝操作系統,祝你好運!

6. 請問各位大神: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;
}
}

7. C#怎麼給指定的PDF文件添加頁眉

有兩種方法可以用來給PDF文件添加頁眉或者頁腳,下面是兩種方法的具體C#代碼方法:

方法1:直接在現有文檔繪制頁眉頁腳

static void Main(string[] args){
//載入一個測試文檔
PdfDocument existingPdf = new PdfDocument();
existingPdf.LoadFromFile(@"C: est.pdf");

//調用DrawHeader方法在現有文檔添加頁眉
DrawHeader(existingPdf);

//調用DrawFooter方法在現有文檔添加頁腳
DrawFooter(existingPdf);

//保存文檔
existingPdf.SaveToFile("output.pdf");}//在頁面上方空白部位繪制頁眉static void DrawHeader(PdfDocument doc){
//獲取頁面大小
SizeF pageSize = doc.Pages[0].Size;

//聲明x,y兩個float型變數
float x = 90;
float y = 20;

for (int i = 0; i < doc.Pages.Count; i++)
{
//在每一頁的指定位置繪制圖片
PdfImage headerImage = PdfImage.FromFile(@"C:logo.png");
float width = headerImage.Width / 3;
float height = headerImage.Height / 3;
doc.Pages[i].Canvas.DrawImage(headerImage, x, y, width, height);

//在每一頁的指定位置繪制橫線
PdfPen pen = new PdfPen(PdfBrushes.Gray, 0.5f);
doc.Pages[i].Canvas.DrawLine(pen, x, y + height + 2, pageSize.Width - x, y + height + 2);
}

}//在頁面下方空白部位繪制頁腳static void DrawFooter(PdfDocument doc){
//獲取頁面大小
SizeF pageSize = doc.Pages[0].Size;

//聲明x,y兩個float型變數
float x = 90;
float y = pageSize.Height - 72;

for (int i = 0; i < doc.Pages.Count; i++)
{
//在每一頁的指定位置繪制橫線
PdfPen pen = new PdfPen(PdfBrushes.Gray, 0.5f);
doc.Pages[i].Canvas.DrawLine(pen, x, y, pageSize.Width - x, y);

//在每一頁的指定位置繪制文字
y = y + 5;
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("黑體", 10f, FontStyle.Bold), true);
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
String footerText = "頁腳內容";
doc.Pages[i].Canvas.DrawString(footerText, font, PdfBrushes.Black, x, y, format);

//在每一頁的指定位置當前頁碼和總頁碼
PdfPageNumberField number = new PdfPageNumberField();
PdfPageCountField count = new PdfPageCountField();
PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.Black, "第{0}頁/共{1}頁", number, count);
compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top);
SizeF size = font.MeasureString(compositeField.Text);
compositeField.Bounds = new RectangleF(pageSize.Width - x - size.Width, y, size.Width, size.Height);
compositeField.Draw(doc.Pages[i].Canvas);
}

}

方法2:通過模板功能添加頁眉頁腳

static void Main(string[] args){
//載入一個測試文檔
PdfDocument existingPdf = new PdfDocument();
existingPdf.LoadFromFile(@"C: est.pdf");

//創建新的PDF文檔
PdfDocument newPdf = new PdfDocument();

//設置頁面大小
newPdf.PageSettings.Size = existingPdf.Pages[0].Size;

//將頁邊距設置為0
newPdf.PageSettings.Margins = new PdfMargins(0);//創建PdfMargins對象,指定期望設置的頁邊距//期望邊距需小於或等於現有文檔的實際邊距,否則頁眉頁腳可能覆蓋主體內容
PdfMargins margins = new PdfMargins(90, 72, 90, 72);

//在新建文檔的頂部和底部應用頁眉頁腳模板
newPdf.Template.Top = CreateHeaderTemplate(newPdf, margins);
newPdf.Template.Bottom = CreateFooterTemplate(newPdf, margins);

//在新建文檔的左右部分應用空白模板
newPdf.Template.Left = new PdfPageTemplateElement(margins.Left, newPdf.PageSettings.Size.Height);
newPdf.Template.Right = new PdfPageTemplateElement(margins.Right, newPdf.PageSettings.Size.Height);

for (int i = 0; i < existingPdf.Pages.Count; i++)
{
//添加頁面到新建文檔,並將現有文檔當做模板繪制到新頁面
newPdf.Pages.Add().Canvas.DrawTemplate(existingPdf.Pages[i].CreateTemplate(), new PointF(-margins.Left, -margins.Top));
}

//保存文檔
newPdf.SaveToFile("output.pdf");}//創建頁眉模板static PdfPageTemplateElement CreateHeaderTemplate(PdfDocument doc, PdfMargins margins){
//獲取頁面大小
SizeF pageSize = doc.PageSettings.Size;

//創建PdfPageTemplateElement對象headerSpace,即作頁眉模板
PdfPageTemplateElement headerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Top);
headerSpace.Foreground = false;

//聲明x,y兩個float型變數
float x = margins.Left;
float y = 0;

//在headerSpace中繪制圖片
PdfImage headerImage = PdfImage.FromFile(@"C:logo.png");
float width = headerImage.Width / 3;
float height = headerImage.Height / 3;
headerSpace.Graphics.DrawImage(headerImage, x, margins.Top - height - 2, width, height);

//在headerSpace中繪制橫線
PdfPen pen = new PdfPen(PdfBrushes.Gray, 0.5f);
headerSpace.Graphics.DrawLine(pen, x, y + margins.Top - 2, pageSize.Width - x, y + margins.Top - 2);

//返回headerSpace
return headerSpace;}//創建頁腳模板static PdfPageTemplateElement CreateFooterTemplate(PdfDocument doc, PdfMargins margins){
//獲取頁面大小
SizeF pageSize = doc.PageSettings.Size;

//創建PdfPageTemplateElement對象footerSpace,即頁腳模板
PdfPageTemplateElement footerSpace = new PdfPageTemplateElement(pageSize.Width, margins.Bottom);
footerSpace.Foreground = false;

//聲明x,y兩個float型變數
float x = margins.Left;
float y = 0;

//在footerSpace中繪制橫線
PdfPen pen = new PdfPen(PdfBrushes.Gray, 0.5f);
footerSpace.Graphics.DrawLine(pen, x, y, pageSize.Width - x, y);

//在footerSpace中繪制文字
y = y + 5;
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("黑體", 10f, FontStyle.Bold), true);
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
String footerText = "頁腳內容";
footerSpace.Graphics.DrawString(footerText, font, PdfBrushes.Black, x, y, format);

//在footerSpace中繪制當前頁碼和總頁碼
PdfPageNumberField number = new PdfPageNumberField();
PdfPageCountField count = new PdfPageCountField();
PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.Black, "第{0}頁/共{1}頁", number, count);
compositeField.StringFormat = new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top);
SizeF size = font.MeasureString(compositeField.Text);
compositeField.Bounds = new RectangleF(pageSize.Width - x - size.Width, y, size.Width, size.Height);
compositeField.Draw(footerSpace.Graphics);

//返回footerSpace
return footerSpace;

}

以上兩種方法基於調用Spire.PDF for .NET API來實現,可通過NuGet來引入。

閱讀全文

與netapipdf相關的資料

熱點內容
亞信面試java 瀏覽:852
生化危機1解壓視頻 瀏覽:347
miui安卓怎麼設置 瀏覽:781
美團app套餐相冊怎麼改 瀏覽:607
單片機程序存儲c 瀏覽:489
賽高網解壓密碼 瀏覽:775
雲伺服器安裝賺錢寶 瀏覽:107
pdf能修改內容嗎 瀏覽:386
貸款辦下來不給解壓 瀏覽:141
德國頂級編程思路 瀏覽:852
Flt單片機 瀏覽:476
ami和hdb3編解碼對比 瀏覽:665
純手工製作解壓視頻 瀏覽:119
雲職教APP為什麼收不到驗證碼 瀏覽:697
禮品發包網源碼 瀏覽:569
什麼app上能制圖 瀏覽:86
為什麼代理伺服器沒響應 瀏覽:562
小程序編譯提示 瀏覽:824
nameerrorpython 瀏覽:294
辭典pdf下載 瀏覽:801