??? ??, ??? ??, ?? ?? ? ?? ?????? Excel ??? PDF ???? ???? ???. ??? ?? ?? ?????? ??? ?? ???? ? ?? ????? ??????. ??? ??? ? ?? ?? ???? ?? ?? ???? ?? ??, ??? ??, ??? ?? ?? ?? ??? ?? ? ????.
?? ?? ??? ???? ???? ??? Excel-PDF ???? ???? ??? ???? ??? ? ?? ?? ????? ?? ?? ??? ??????.
???? ??
???? ??
?? ?? ??? Aspose.Cells, Syncfusion ?? ?? ?? ???? ??????. ????? ??? ???? ??? ?? ??? ??? ?? ?? ?????? ??? ?? ???.
??? ???
?? ??? ???? ?? ??? ? ??? ????? ???? ????. ??? ???? ?? ?? ?? ?? ??(??? ?? ??? ????? ???), ?? ?? ??? ??? ????? API? ???? ????.
?? ?? ?????
?? ?? ?????? ????? ??? Excel ??? PDF? ???? ??? ??????. ? ??? ?? ??????? ??? ? ??? ?? Microsoft Office ??? ???? ?? ??? ????.
???? ??? LibreOffice
? ? ?? ??? ?? LibreOffice? ???? ??? ???? ??? ??????. LibreOffice? Excel? ??? ??? ?? ??? PDF? ??? ? ?? ?? ?? ?? ??? ??????. ???? ???? ???? ???? ?? ????? ???? ??????.
? ??? ?? ??
????? ?? ?? ????? ? ??? REST API ??? ?? ?? Go ?? HTTP ??? ??????. ? ??? LibreOffice? ??? ????? ?? ????? ??? HTTP ??? ?? ?? ??? ? ??? ???.
?? ??
- ??? ?? ?? ??: .xlsx, .xls, .csv, .docx, .pptx ? ?? ??? ?????.
- ?? ??: ?? ??? ??? ??? ???? ?? 1?? ?? ???? ?????.
- ??? ?? ??: GitHub ???? ????? Docker ??? ???? ??? ?? ??? ??? ? ????.
- ?? ?? ??: HTTP? ???? ?? ????? ???? ?????.
?? ???? ??
???? ?? ????? ???? ?? ??? ?? ./tmp ????? ????? ??????. ??? ?? ?????? ??? ??? ? ?? ??? ?? ??? ?? ??? ??? ?????.
????
?????
-
?? ???: ??????
/convert
?????? ???? POST ??? ?? Excel ??? ??????. - ?? ???: ??? ?????? ?? ?? ??? ???? ./tmp ????? ??? ?????.
- ??: ???? ???? LibreOffice? ???? ??? PDF? ???? ??? ??? ????? ?????.
- ?? ??: ????? ???? 1??? ?? ??? ?????.
- ??: ??? PDF? HTTP ???? ?????.
?? ???
GitHub ???
????? http://ipnx.cn/link/5b1add8961a1cfa07e60838ffd0f83e7?? ???? ? ????.
?? ???
? ????? Docker ???? ?????: wteja/pdf-converter.
Docker ???? ??
<code>docker pull wteja/pdf-converter docker run -p 5000:5000 wteja/pdf-converter</code>
?? ???? ?? ??
???? HTTP? ?? ????? ?? ????? ??? ???? ???? ?? ??? ? ????.
C#
var client = new HttpClient(); var fileContent = new ByteArrayContent(File.ReadAllBytes("example.xlsx")); var formData = new MultipartFormDataContent { { fileContent, "file", "example.xlsx" } }; var response = await client.PostAsync("http://localhost:5000/convert", formData); var pdfBytes = await response.Content.ReadAsByteArrayAsync(); File.WriteAllBytes("output.pdf", pdfBytes);
Node.js
const axios = require("axios"); const FormData = require("form-data"); const fs = require("fs"); const form = new FormData(); form.append("file", fs.createReadStream("example.xlsx")); axios.post("http://localhost:5000/convert", form, { headers: form.getHeaders() }) .then(response => fs.writeFileSync("output.pdf", response.data)) .catch(console.error);
???
import requests with open("example.xlsx", "rb") as f: response = requests.post("http://localhost:5000/convert", files={"file": f}) with open("output.pdf", "wb") as f: f.write(response.content)
???
package main import ( "bytes" "io" "mime/multipart" "net/http" "os" ) func main() { file, _ := os.Open("example.xlsx") defer file.Close() body := &bytes.Buffer{} writer := multipart.NewWriter(body) part, _ := writer.CreateFormFile("file", "example.xlsx") io.Copy(part, file) writer.Close() req, _ := http.NewRequest("POST", "http://localhost:5000/convert", body) req.Header.Set("Content-Type", writer.FormDataContentType()) resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() out, _ := os.Create("output.pdf") defer out.Close() io.Copy(out, resp.Body) }
??? ??
??? ??
LibreOffice ????? ?? Docker ??? ??? 2.67GB???. Alpine? ?? ?? ???? ?????? ?? Microsoft Office ??? ???? ?? ?? ??? LibreOffice? ???? ?????. ???? ?? LibreOffice? ????? ??? ???? ? ???(? 3GB).
??? ?? ?? ??
? ? ??? ??? ?? ??? ??? ?? ?? ??? ??????. ?? ???? ?? ???? ??? ???? ??? ???? ?? ?????? ???? ? ????.
??
?? Excel-PDF ???? ?? ? ???? ?? ???? ???? LibreOffice? ???? ??? ???? ???? ?????. ????? ??? ???? ????? ?????. ??? ??? ????? ? ????? ?? ??? ??? ??? ? ??? ????.
GitHub?? ????? ????? Docker Hub?? Docker ???? ?????. ? ??? ??? ????? ?? ??? ?? ?? ??? ??? ????? ????.
? ??? ?? Excel-PDF ???? ?? ????: ?? ??? ???? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

Golang? ?? ??? ??? ????? ??? ?? ???? ??? ? ??? ? ?? ????. ?? ??? ???, ?? ?? ? ??? ?? ?????? ????? API ??, ???? ???, ?? ???, ?????? ?? ? CLI ??? ?? ??? ?? ????? ???? ? ?????. Golang? ? ??? ??? ?? ??? ???? Gopherjs? ?? JavaScript? ?????? Tinygo? ?? WebAssembly?? ????? ??? ?? ??? ???? ?? ??? ???? HTML ???? ?? ? ? ????. ??? ???? ??? ?? ??? ??? ??JavaScript/TypeScript ? ???? ???????. ??? Golang? ??? ???? ???? ?? ?? ??? ? ?????.

GO?? GraphQlapi? ????? GQLGEN ?????? ???? ?? ???? ????? ?? ????. 1. ?? ???? ???? ?? ?? ??? ???? GQLGEN? ?? ??? ?????? ??????. 2. ?? ?? GraphQLSchema? ???? POST ?? ? ?? ??? ??? ?? API ?? ? ?? ??? ??????. 3. ?? ?? ????? ????? ?? ??? ???? Resolver?? ???? ??? ?????. 4. ????? ??? Qlhandler? httpserver? ???? ?? ???? ?? API? ???????. ?? ?? ?? ??, ?? ??, ?? ??? ? ?? ??? ???? ???? ?? ??? ?????.

GO? ???? ?? ??? ??? ???? ?? ??? ???? ??? ???? ????. 1. ?? ???? ?? ???? ??????? ?? ? ???? ??????. Windows? .msi ??? ???? MacOS? .pkg ??? ???? Linux? .tar.gz ??? ???? /usr /local ????? ??? ????. 2. Linux/MacOS?? ?? ??, ?? ~/.bashrc ?? ~/.zshrc? ???? ??? Gopath? ???? Windows Set ??? ??? ???? ?????. 3. ?? ??? ???? ??? ???? ??? ???? Hello.Go? ???? ?? ? ??? ???? ??????. ???? ???? ?? ?? ? ??

sync.waitgroup? ?? ? ??? ??? ?? ? ??? ???? ? ?????. ??? ??? ? ?? ??? ?? ?? ??? ???? : ??, ?? ? ??. 1. Aadd (n) ?? ? ?? ? ?? ?????. 2. DONE ()? ? ? ??? ??? ???? ???? 1 ? ?? ???. 3. Wait ()? ?? ??? ?? ? ??? ?? ? ??? ?????. ?? ??? ?? ?? ?? : ADD? ?? ? ???? ????????. ?? ??? ??? DON? ????? ??????. ??? ?? ???? ?? ????. ? ???? ?? ???, ?? ??? ?? ? ?? ?????? ????? ??? ????? ????? ?? ? ? ????.

Go? Embed ???? ???? ? ???? ??? HTML, CSS, ?? ? ?? ??? ???? ? ??? ?? ???? ????? ?? ???? ? ????. 1. ?? ? ???? ????? ??????. 2. ??/*? ?? ?? ????? ??? ? ??? embed.fs? ?? ?? ?? ??? ??? ? ????. 3. ?? ?? ?? ?? ??? ?? ??? ?? ??? ???? ???? ????? ?? ????. 4. ???? ???? ?? ???, ?? ?? ?? ? ?? ?? ?????????. Embed? ???? ??? ??? ????? ???? ??? ??? ? ? ????.

??? ? ??? ??? ??? ?? ???? ? ??? ??? ???? ? ????. 1. ?? ?????? ??, ???, ??, ??? ? ??? ???? ? ???? ??? ? ???? ????. 2. ??? ? ??? ??, ?? ??, ??? ???, ??? ?? ?? ?? ???? ??? ?? ??, ?? ???, ??? ?? ??, ?? ?? ?? ?? ?? ??? ? ????. 3. FFMPEG, OPENCV, WEBRTC, GSTREAMER ? ?? ??? ???? ??? ???? ?? ????. 4. ?? ?? ???? ???? ??, ???? ??? ??? ?? ??, ?? ??? ? ??? ?? ?????? ???????. ??? ?? ???? ????? ?? ???? ??? ??? ????? ? ??????.

?? ?? ??? ? ??? ???? ?? ??? ????. ??? Net/HTTP ???? ???? ?? ???? ???? ? ????. 1. net/http? ???? ?? ??? ??? ??????. ?? ?? ??? ???? ? ?? ??? ?? ??? ????. 2. ??? ?? : Servemux? ???? ?? ??? ? ??? ?? ?? ????? ??? ?????. 3. ???? ?? : ?? ?? ? ?? ??? ? ?? ?????? ???? ??? ??? ?????. 4. ?? ?? ??? : http.fileserver? ?? HTML, CSS ? JS ??? ?????. 5. ?? ? ?? : HTTPS ???, ?? ??? ??? ???? ?? ? ??? ????? ?? ?? ??? ?????. ??? ?? ???? ????? ??? ???? ?? ? ?? ????.

Select Plus Default? ??? ?? ??? ???? ??? ?? ????? ??? ? Select? ?? ??? ????? ???? ????. 1. ???? ?? ???? ???? ?? ? ? ??? ?? ??? ?? ??? ?? ?????. 2. ??? ??. ?? ?? ?? ????? ???? ?????. ??? ?? ?? ???? ?? ?? ????. 3. ?? ??? ????, ??? ?? ??? ???? ?? ?? ????? ???? ???????. ?? ??? ?? ?? ??? ?? ???? ?? ? ? ??? ?? ? ??? ?? ????? ??? ???? ????.
