Միավորել PDF-ը C# REST API-ի հետ

Այս կարճ ձեռնարկը ցույց է տալիս, թե ինչպես միաձուլել PDF-ը C# REST API-ի հետ: Դուք կսովորեք միաձուլել բոլոր PDF-ները C# REST ինտերֆեյսի հետ՝ օգտագործելով SDK-ն: Այն կբացատրի բոլոր քայլերը, որոնք անհրաժեշտ են մի քանի PDF ֆայլեր համատեղելու համար հավելված մշակելու համար:

Նախադրյալ

PDF-ը C# Low Code API-ի հետ համատեղելու քայլեր

  1. Սահմանեք API ստեղնը և SID-ը PdfApi դասի օբյեկտի սկզբնավորման համար
  2. Ստեղծեք MergeDocuments օբյեկտը և տրամադրեք PDF ֆայլերի ցանկը, որոնք ցանկանում եք միաձուլել
  3. Վերբեռնեք բոլոր սկզբնաղբյուր PDF ֆայլերը՝ օգտագործելով UploadFile() մեթոդը PdfApi դասում
  4. Զանգահարեք PutMergeDocuments() մեթոդը՝ բոլոր PDF ֆայլերը մեկ նպատակակետ PDF ֆայլի մեջ միացնելու համար
  5. Ներբեռնեք և պահպանեք ելքային PDF ֆայլը, որը պարունակում է բոլոր միաձուլված PDF ֆայլերի բովանդակությունը

Այս քայլերն ամփոփում են, թե ինչպես * PDF-ը առցանց միացնել C# REST API-ին*: Օգտագործեք MergeDocuments դասի օբյեկտը՝ ստեղծելու PDF ֆայլերի ցանկը, որոնք ցանկանում եք միաձուլել, և վերբեռնեք այս բոլոր PDF ֆայլերը ամպի մեջ՝ օգտագործելով PdfApi.UploadFile() մեթոդը, և կանչեք PutMergeDocuments() մեթոդը՝ PDF ֆայլերը առցանց միացնելու համար: API-ի կանչը վերադարձնում է OK կարգավիճակը, որից հետո կարող եք զանգահարել DownloadFile մեթոդը՝ ելքային PDF ֆայլը ստանալու համար:

Կոդ՝ PDF ֆայլերը C# .NET-ի վրա հիմնված API-ի հետ համատեղելու համար

using System;
using System.IO;
using Aspose.Pdf.Cloud.Sdk.Api;
using Aspose.Pdf.Cloud.Sdk.Model;
using System.Collections.Generic;
namespace Aspose.PDF.Cloud.Examples.Kb
{
public class PdfTasks
{
public static void SplitPDFFiles()
{
PdfApi pdfApi = new PdfApi("API KEY", "API SID");
String fileName = "sample.pdf";
String format = "pdf";
int from = 1;
int to = 2;
String storage = "";
String folder = "";
try
{
// Upload source file to aspose cloud storage
pdfApi.UploadFile(fileName, new MemoryStream( System.IO.File.ReadAllBytes(fileName)));
// Invoke Aspose.PDF Cloud SDK API to split pdf files
SplitResultResponse apiResponse = pdfApi.PostSplitDocument(fileName, format, from, to, storage, folder);
if (apiResponse.Status.Equals("OK"))
{
// Download created pdf file
foreach(var item in apiResponse.Result.Documents)
{
Stream storageRes = pdfApi.DownloadFile(item.Href);
storageRes.Position = 0;
using (FileStream fileStream = new FileStream(item.Href, FileMode.Create, FileAccess.Write))
{
storageRes.CopyTo(fileStream);
}
}
Console.WriteLine("Split PDF Files, Done!");
Console.ReadKey();
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
}
public static void MergePDFFiles()
{
PdfApi pdfApi = new PdfApi("API KEY", "API SID");// For merging PDF files
String fileName = "sample-merged.pdf";
String storage = "";
String folder = "";
MergeDocuments body = new MergeDocuments(new List<string> { "sample.pdf", "input.pdf" });
try
{
// Load the input Word file
pdfApi.UploadFile("sample.pdf", new MemoryStream(System.IO.File.ReadAllBytes("sample.pdf")));
pdfApi.UploadFile("input.pdf", new MemoryStream(System.IO.File.ReadAllBytes("input.pdf")));
// Merge the PDF files
DocumentResponse apiResponse = pdfApi.PutMergeDocuments(fileName, body);
if (apiResponse != null && apiResponse.Status.Equals("OK"))
{
// Download created pdf file
Stream storageRes = pdfApi.DownloadFile(fileName);
// Save response stream to a file
storageRes.Position = 0;
using (FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
storageRes.CopyTo(fileStream);
}
Console.WriteLine("Merge Multiple PDF Files, Done!");
Console.ReadKey();
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
}
public static void CreatePDF()
{
try
{
PdfApi pdfApi = new PdfApi("2086fd1a0db8175482a26f53c230483e", "fd43bbdc-4e3d-4a75-8847-2138b3ad167e");
DocumentResponse response = pdfApi.PutCreateDocument("newPdfFile");
if (response != null && response.Status.Equals("OK"))
{
Paragraph para = PrepareParagraph("This is first text for new PDF");
pdfApi.PutAddText("newPdfFile", 1, para);
var stream = pdfApi.DownloadFile("newPdfFile", null, null);
using (var fileStream = File.Create("output.pdf"))
{
stream.Seek(0, SeekOrigin.Begin);
stream.CopyTo(fileStream);
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
}
private static Paragraph PrepareParagraph(string text)
{
List<TextLine> textLines = new List<TextLine>();
Segment segment = new Segment(Value: text);
List<Segment> segments = new List<Segment>();
segments.Add(segment);
TextLine textLine = new TextLine(Segments: segments);
textLines.Add(textLine);
Rectangle rectangle = new Rectangle(50.0, 800, 300.0, 850);
Paragraph paragraph = new Paragraph(Lines: textLines, Rectangle: rectangle);
return paragraph;
}
//THIS CODE IS CREATINg INVALID PDF FILE
public static void CreatePDFFromXML()
{
// For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-Cloud
PdfApi pdfApi = new PdfApi("2086fd1a0db8175482a26f53c230483e", "fd43bbdc-4e3d-4a75-8847-2138b3ad167e");
String fileName = "input_out.pdf";
String templateFile = "sample.xsl";
String dataFile = "sample.xml";
//String templateType = "xml";
String storageRef = "my_xml";
//String folder = "";
try
{
// Upload source file to aspose cloud storage
byte[] templateFileBytes = System.IO.File.ReadAllBytes(templateFile);
MemoryStream templateFileStream = new MemoryStream(templateFileBytes);
byte[] dataFileBytes = System.IO.File.ReadAllBytes(dataFile);
MemoryStream dataFileStream = new MemoryStream(dataFileBytes);
pdfApi.UploadFile(templateFile, templateFileStream);
pdfApi.UploadFile(dataFile, dataFileStream);
// Invoke Aspose.PDF Cloud SDK API to create Pdf from XML
//DocumentResponse apiResponse = pdfApi.PutCreateDocument(fileName, templateFile, dataFile);
AsposeResponse apiResponse = pdfApi.PutXmlInStorageToPdf(fileName, dataFile, xslFilePath: templateFile, storage: "my_xml");
if (apiResponse != null && apiResponse.Status.Equals("OK"))
{
// Download created pdf file
Stream storageRes = pdfApi.DownloadFile(fileName);
// Save response stream to a file
//storageRes.CopyTo(new FileStream("Sample_out.pdf", FileMode.Create, FileAccess.Write));
storageRes.Position = 0;
SaveStreamToFile(storageRes, fileName);
//Console.WriteLine("Create PDF from XML, Done!");
//Console.ReadKey();
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
}
private static void SaveStreamToFile(Stream sourceStream, string filePath)
{
// Ensure the directory exists
//string directoryPath = Path.GetDirectoryName(filePath);
//if (!Directory.Exists(directoryPath))
//{
// Directory.CreateDirectory(directoryPath);
//}
// Create a FileStream to write the stream to the file
using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
sourceStream.CopyTo(fileStream);
}
}
}
}

Այս կոդը մեզ սովորեցրել է, թե ինչպես միացնել PDF ֆայլերը C# REST ինտերֆեյսի հետ: Օգտագործեք համանման անունները UploadFile() մեթոդում, ինչպես օգտագործվում է MergeDocuments օբյեկտի PDF ֆայլերի ցանկում: Ստացված PDF ֆայլը ներբեռնելիս դրեք Position պարամետրը զրոյի, այլապես չեք կարողանա ֆայլը պահել սկավառակի վրա:

Այս հոդվածը բացատրել է, թե ինչպես միաձուլել PDF փաստաթղթերը առցանց C# .NET-ի վրա հիմնված API-ի հետ: Դատարկ PDF ֆայլ ստեղծելու համար տես հետևյալ հոդվածը՝ Ստեղծեք PDF փաստաթուղթ NET REST API-ով.

 Հայերեն