ฉันต้องการ ASP.NET Color เว็บโปรแกรมถูกเขียนด้วย C#มันเกี่ยวข้องกับผู้ใช้กำลังอัพโหลดต่างออก pdfs เข้า Color แก้จุดเหลือห้องเก็บของ ฉันอยากของผู้ใช้เพื่อทีหลังดาวน์โหลดด้วยการผสมผสานเป็นเอกสาร PDF คิดถึงทุกฝ่าของความเดิมตอนที่แล้ว-อัพโหลดลูกบอลอยู่ในระบุคำสั่ง มีความคิดในทางที่ดีที่สุดที่จะย่อมทำเรื่องนี้?
1
นี่คือ 2 การวนรอบการทำงานคุณสามารถจะพยายาม
- ใช้ของ Color ฟังก์ชัน.
- ดาวน์โหลดของแฟ้มเอกสาร pdf จาก Color แก้จุดเหลือของคุณท้องถิ่นคอมพิวเตอร์งั้นผนวกรวมพวกเขา
ใช้ฟังก์ชัน Color
- สร้าง color ฟังก์ชันโครงการและใช้ HTTP ตัวกระตุ้นแล้วเมื่อปีก่อน
- ทำให้แน่ใจว่าคุณติดตั้งด้านล่างตอบแทนก่อนที่จะเริ่มต้นกับถูกเข้ารหัสฉุกเฉิน
- สร้างฟังก์ชันรหัสมอส
- สร้าง Color ฟังก์ชันในที่ประตู.
- พิมพ์รหัส.
พวกเราพร้อมที่จะเริ่มงานเขียนรหัสมอส เราต้องการสอบแฟ้ม:
- ResultClass.à™àà§à•à£àà™ –จะได้ค่าที่ถูกรวมแฟ้ม)เป็นรายการ
- Function1.à™àà§à•à£àà™ –CCode ที่ใช้ในชื่อแฟ้มจากที่อยู่ URL ว้ามันออกมาจากห้องเก็บขอบัญชี merges พวกเขาเข้าไปและกลับมาเป็นดาวน์โหลดที่อยู่ URL ได้
ResultClass.à™àà§à•à£àà™
using System;
using System.Collections.Generic;
namespace FunctionApp1
{
public class Result
{
public Result(IList<string> newFiles)
{
this.files = newFiles;
}
public IList<string> files { get; private set; }
}
}
Function1.à™àà§à•à£àà™
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Configuration;
using Microsoft.WindowsAzure.Storage.Blob;
using Newtonsoft.Json;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
namespace FunctionApp1
{
public class Function1
{
static Function1()
{
// This is required to avoid the "No data is available for encoding 1252" exception when saving the PdfDocument
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
}
[FunctionName("Function1")]
public async Task<Result> SplitUploadAsync(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req,
//container where files will be stored and accessed for retrieval. in this case, it's called temp-pdf
[Blob("temp-pdf", Connection = "")] CloudBlobContainer outputContainer,
ILogger log)
{
//get query parameters
string uriq = req.RequestUri.ToString();
string keyw = uriq.Substring(uriq.IndexOf('=') + 1);
//get file name in query parameters
String fileNames = keyw.Split("mergepfd&filenam=")[1];
//split file name
string[] files = fileNames.Split(',');
//process merge
var newFiles = await this.MergeFileAsync(outputContainer, files);
return new Result(newFiles);
}
private async Task<IList<string>> MergeFileAsync(CloudBlobContainer container, string[] blobfiles)
{
//init instance
PdfDocument outputDocument = new PdfDocument();
//loop through files sent in query
foreach (string fileblob in blobfiles)
{
String intfile = $"" + fileblob;
// get file
CloudBlockBlob blob = container.GetBlockBlobReference(intfile);
using (var memoryStream = new MemoryStream())
{
await blob.DownloadToStreamAsync(memoryStream);
//get file content
string contents = blob.DownloadTextAsync().Result;
//open document
var inputDocument = PdfReader.Open(memoryStream, PdfDocumentOpenMode.Import);
//get pages
int count = inputDocument.PageCount;
for (int idx = 0; idx < count; idx++)
{
//append
outputDocument.AddPage(inputDocument.Pages[idx]);
}
}
}
var outputFiles = new List<string>();
var tempFile = String.Empty;
//call save function to store output in container
tempFile = await this.SaveToBlobStorageAsync(container, outputDocument);
outputFiles.Add(tempFile);
//return file(s) url
return outputFiles;
}
private async Task<string> SaveToBlobStorageAsync(CloudBlobContainer container, PdfDocument document)
{
//file name structure
var filename = $"merge-{DateTime.Now.ToString("yyyyMMddhhmmss")}-{Guid.NewGuid().ToString().Substring(0, 4)}.pdf";
// Creating an empty file pointer
var outputBlob = container.GetBlockBlobReference(filename);
using (var stream = new MemoryStream())
{
//save result of merge
document.Save(stream);
await outputBlob.UploadFromStreamAsync(stream);
}
//get sas token
var sasBlobToken = outputBlob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(5),
Permissions = SharedAccessBlobPermissions.Read
});
//return sas token
return outputBlob.Uri + sasBlobToken;
}
}
}
ดาวน์โหลดของแฟ้มเอกสาร pdf จาก Color แก้จุดเหลือของคุณท้องถิ่นคอมพิวเตอร์งั้นผนวกรวมพวกเขา
internal static void combineNormalPdfFiles()
{
String inputFilePath1 = @"C:\1.pdf";
String inputFilePath2 = @"C:\2.pdf";
String inputFilePath3 = @"C:\3.pdf";
String outputFilePath = @"C:\Output.pdf";
String[] inputFilePaths = new String[3] { inputFilePath1, inputFilePath2, inputFilePath3 };
// Combine three PDF files and output.
PDFDocument.CombineDocument(inputFilePaths, outputFilePath);
}
จะอ้างอิงไปยัง:
SwethaKandikonda-MT นี่เป็นคนที่สุดยอดมาทางออกและหนึ่งที่ฉันต้องเรียบร้อยแล้บริษัทเข้าต์บนเว็บไซต์ของฉัน. ของหลายดูเหมือนจริงใจได้ไงในเมื่อต้องขอบคุณสำหรับตอบสนอง! ฉันไม่ได้ทำงานกับ Color ฟังก์ชันก่อนที่จะอความเห็นของเธอแต่ฉันรู้มากกว่านั้นมากตอนนี้ กำลังจะออกคำสั่งและรวบรวมอัปโหลดไป color แก้จุดเหลือ PDFs นเปนหนึงในเอกสาร PDF นเป็นบางอย่างที่ฉันเกือบให้ขึ้นมาบนกระทั่งเรื่องนี้
Wallstreetguy
ถ้าคำตอบของฉันคือช่วยคุณคุณสามารถยอมรับมันเป็นคำตอบ(คลิกที่ปุ่ม checkmark เคียงข้าคำตอบต้องแสดง/ซ่อนมันออกมาจาก greyed อเข้าไปเป็นตัวแสดงแทน). นี่เป็นประโยชน์ที่ชุมชนอื่นสมาชิก ขอบคุณ
SwethaKandikonda-MT