ผนวกรวม Color ลูกบอล(PDFs)ในหนึ่งแก้จุดเหลืองและดาวน์โหลดต้องของผู้ใช้ผ่านทาง C#ASP.NET

0

คำถาม

ฉันต้องการ ASP.NET Color เว็บโปรแกรมถูกเขียนด้วย C#มันเกี่ยวข้องกับผู้ใช้กำลังอัพโหลดต่างออก pdfs เข้า Color แก้จุดเหลือห้องเก็บของ ฉันอยากของผู้ใช้เพื่อทีหลังดาวน์โหลดด้วยการผสมผสานเป็นเอกสาร PDF คิดถึงทุกฝ่าของความเดิมตอนที่แล้ว-อัพโหลดลูกบอลอยู่ในระบุคำสั่ง มีความคิดในทางที่ดีที่สุดที่จะย่อมทำเรื่องนี้?

asp.net azure blob c#
2021-11-21 19:18:14
1

คำตอบที่ดีที่สุด

1

นี่คือ 2 การวนรอบการทำงานคุณสามารถจะพยายาม

  1. ใช้ของ Color ฟังก์ชัน.
  2. ดาวน์โหลดของแฟ้มเอกสาร pdf จาก Color แก้จุดเหลือของคุณท้องถิ่นคอมพิวเตอร์งั้นผนวกรวมพวกเขา

ใช้ฟังก์ชัน Color

  1. สร้าง color ฟังก์ชันโครงการและใช้ HTTP ตัวกระตุ้นแล้วเมื่อปีก่อน
  2. ทำให้แน่ใจว่าคุณติดตั้งด้านล่างตอบแทนก่อนที่จะเริ่มต้นกับถูกเข้ารหัสฉุกเฉิน
  3. สร้างฟังก์ชันรหัสมอส
  4. สร้าง Color ฟังก์ชันในที่ประตู.
  5. พิมพ์รหัส.

พวกเราพร้อมที่จะเริ่มงานเขียนรหัสมอส เราต้องการสอบแฟ้ม:

  1. ResultClass.à™àà§à•à£àà™ –จะได้ค่าที่ถูกรวมแฟ้ม)เป็นรายการ
  2. 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);
        }

จะอ้างอิงไปยัง:

  1. Color ฟังก์ชันเพื่อรวมเอกสาร PDF ลูกบอลอยู่ใน Color ห้องเก็บของบัญชีผู้ใช้(แก้จุดเหลือตู้คอนเทนเนอร์)
  2. C#ผนวกรวมเอกสาร PDF SDK:ผนวกรวรแฟ้มในเอกสาร PDF C#.net,ASP.NET,MVC,อาแจ็กซ์,WinForms,WPF
2021-11-22 05:18:46

SwethaKandikonda-MT นี่เป็นคนที่สุดยอดมาทางออกและหนึ่งที่ฉันต้องเรียบร้อยแล้บริษัทเข้าต์บนเว็บไซต์ของฉัน. ของหลายดูเหมือนจริงใจได้ไงในเมื่อต้องขอบคุณสำหรับตอบสนอง! ฉันไม่ได้ทำงานกับ Color ฟังก์ชันก่อนที่จะอความเห็นของเธอแต่ฉันรู้มากกว่านั้นมากตอนนี้ กำลังจะออกคำสั่งและรวบรวมอัปโหลดไป color แก้จุดเหลือ PDFs นเปนหนึงในเอกสาร PDF นเป็นบางอย่างที่ฉันเกือบให้ขึ้นมาบนกระทั่งเรื่องนี้
Wallstreetguy

ถ้าคำตอบของฉันคือช่วยคุณคุณสามารถยอมรับมันเป็นคำตอบ(คลิกที่ปุ่ม checkmark เคียงข้าคำตอบต้องแสดง/ซ่อนมันออกมาจาก greyed อเข้าไปเป็นตัวแสดงแทน). นี่เป็นประโยชน์ที่ชุมชนอื่นสมาชิก ขอบคุณ
SwethaKandikonda-MT

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่