Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
kevin2li committed Jul 9, 2023
1 parent cd7e6ac commit b5cf8f6
Show file tree
Hide file tree
Showing 8 changed files with 168 additions and 151 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,6 @@ npm install -g pnpm

2. 编译项目

Windows:

```bash
git clone https://github.com/kevin2li/PDF-Guru.git
cd PDF-Guru
Expand All @@ -93,6 +91,7 @@ cd .. # 切到根目录
wails dev # 开发预览
wails build # 编译
```
windows:

`pdf.exe``PDF Guru.exe``ocr.py``convert.py`放在一个文件夹下,运行`PDF Guru.exe`即可。

Expand Down
14 changes: 6 additions & 8 deletions app.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
//go:build windows
// +build windows

package main

import (
Expand Down Expand Up @@ -676,14 +673,17 @@ func (a *App) ScalePDFByScale(inFile string, outFile string, scale float32, page
}
return nil
}
func (a *App) ScalePDFByDim(inFile string, outFile string, width float32, height float32, pagesStr string) error {
log.Printf("inFile: %s, outFile: %s, width: %f, height: %f, pagesStr: %s\n", inFile, outFile, width, height, pagesStr)
func (a *App) ScalePDFByDim(inFile string, outFile string, width float32, height float32, unit string, pagesStr string) error {
log.Printf("inFile: %s, outFile: %s, width: %f, height: %f, unit: %s, pagesStr: %s\n", inFile, outFile, width, height, unit, pagesStr)
args := []string{"resize", "--method", "dim"}
args = append(args, "--width", fmt.Sprintf("%f", width))
args = append(args, "--height", fmt.Sprintf("%f", height))
if pagesStr != "" {
args = append(args, "--page_range", pagesStr)
}
if unit != "" {
args = append(args, "--unit", unit)
}
if outFile != "" {
args = append(args, "-o", outFile)
}
Expand Down Expand Up @@ -1393,9 +1393,7 @@ func (a *App) RemoveWatermarkByType(inFile string, outFile string, pages string)
return err
}
cmd := exec.Command(config.PdfPath, args...)

// err = CheckCmdError(cmd) err = GetCmdStatusAndMessage(cmd)

err = GetCmdStatusAndMessage(cmd)
if err != nil {
err = errors.Wrap(err, "")
return err
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/components/Forms/MergeForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
</a-form-item>
<a-form-item name="merge.sort" label="排序字段">
<a-radio-group v-model:value="formState.sort">
<a-radio value="hand">添加顺序</a-radio>
<a-radio value="default">添加顺序</a-radio>
<a-radio value="name">文件名</a-radio>
<a-radio value="create">创建时间</a-radio>
<a-radio value="modify">修改时间</a-radio>
<a-radio value="ctime">创建时间</a-radio>
<a-radio value="mtime">修改时间</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="排序方向">
Expand Down Expand Up @@ -61,7 +61,7 @@ export default defineComponent({
const formState = reactive<MergeState>({
input_path_list: [],
output: "",
sort: "hand",
sort: "default",
sort_direction: "asc",
});
Expand Down
131 changes: 73 additions & 58 deletions frontend/src/components/Forms/ScaleForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,63 +10,77 @@
<a-radio-button value="custom">自定义长宽</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item name="ratio" label="缩放比例" v-if="formState.op === 'ratio'">
<a-input-number v-model:value="formState.ratio" :min="0"></a-input-number>
</a-form-item>
<a-form-item name="paper_size" label="纸张大小" v-if="formState.op === 'common'">
<a-select v-model:value="formState.paper_size" style="width: 200px">
<a-select-option value="a0">A0</a-select-option>
<a-select-option value="a1">A1</a-select-option>
<a-select-option value="a2">A2</a-select-option>
<a-select-option value="a3">A3</a-select-option>
<a-select-option value="a4">A4</a-select-option>
<a-select-option value="a5">A5</a-select-option>
<a-select-option value="a6">A6</a-select-option>
<a-select-option value="a7">A7</a-select-option>
<a-select-option value="a8">A8</a-select-option>
<a-select-option value="a9">A9</a-select-option>
<a-select-option value="a10">A10</a-select-option>
<a-select-option value="b0">B0</a-select-option>
<a-select-option value="b1">B1</a-select-option>
<a-select-option value="b2">B2</a-select-option>
<a-select-option value="b3">B3</a-select-option>
<a-select-option value="b4">B4</a-select-option>
<a-select-option value="b5">B5</a-select-option>
<a-select-option value="b6">B6</a-select-option>
<a-select-option value="b7">B7</a-select-option>
<a-select-option value="b8">B8</a-select-option>
<a-select-option value="b9">B9</a-select-option>
<a-select-option value="b10">B10</a-select-option>
<a-select-option value="c0">C0</a-select-option>
<a-select-option value="c1">C1</a-select-option>
<a-select-option value="c2">C2</a-select-option>
<a-select-option value="c3">C3</a-select-option>
<a-select-option value="c4">C4</a-select-option>
<a-select-option value="c5">C5</a-select-option>
<a-select-option value="c6">C6</a-select-option>
<a-select-option value="c7">C7</a-select-option>
<a-select-option value="c8">C8</a-select-option>
<a-select-option value="c9">C9</a-select-option>
<a-select-option value="c10">C10</a-select-option>
<a-select-option value="card-4x6">card-4x6</a-select-option>
<a-select-option value="card-5x7">card-5x7</a-select-option>
<a-select-option value="commercial">commercial</a-select-option>
<a-select-option value="executive">executive</a-select-option>
<a-select-option value="invoice">invoice</a-select-option>
<a-select-option value="ledger">ledger</a-select-option>
<a-select-option value="legal">legal</a-select-option>
<a-select-option value="legal-13">legal-13</a-select-option>
<a-select-option value="letter">letter</a-select-option>
<a-select-option value="monarch">monarch</a-select-option>
<a-select-option value="tabloid-extra">tabloid-extra</a-select-option>
</a-select>
</a-form-item>
<a-form-item name="width" label="宽度" v-if="formState.op === 'custom'">
<a-input-number v-model:value="formState.width" :min="0"></a-input-number>
</a-form-item>
<a-form-item name="height" label="高度" v-if="formState.op === 'custom'">
<a-input-number v-model:value="formState.height" :min="0"></a-input-number>
</a-form-item>
<div v-if="formState.op === 'ratio'">
<a-form-item name="ratio" label="缩放比例">
<a-input-number v-model:value="formState.ratio" :min="0"></a-input-number>
</a-form-item>
</div>
<div v-if="formState.op === 'common'">
<a-form-item name="paper_size" label="纸张大小">
<a-select v-model:value="formState.paper_size" style="width: 200px">
<a-select-option value="a0">A0</a-select-option>
<a-select-option value="a1">A1</a-select-option>
<a-select-option value="a2">A2</a-select-option>
<a-select-option value="a3">A3</a-select-option>
<a-select-option value="a4">A4</a-select-option>
<a-select-option value="a5">A5</a-select-option>
<a-select-option value="a6">A6</a-select-option>
<a-select-option value="a7">A7</a-select-option>
<a-select-option value="a8">A8</a-select-option>
<a-select-option value="a9">A9</a-select-option>
<a-select-option value="a10">A10</a-select-option>
<a-select-option value="b0">B0</a-select-option>
<a-select-option value="b1">B1</a-select-option>
<a-select-option value="b2">B2</a-select-option>
<a-select-option value="b3">B3</a-select-option>
<a-select-option value="b4">B4</a-select-option>
<a-select-option value="b5">B5</a-select-option>
<a-select-option value="b6">B6</a-select-option>
<a-select-option value="b7">B7</a-select-option>
<a-select-option value="b8">B8</a-select-option>
<a-select-option value="b9">B9</a-select-option>
<a-select-option value="b10">B10</a-select-option>
<a-select-option value="c0">C0</a-select-option>
<a-select-option value="c1">C1</a-select-option>
<a-select-option value="c2">C2</a-select-option>
<a-select-option value="c3">C3</a-select-option>
<a-select-option value="c4">C4</a-select-option>
<a-select-option value="c5">C5</a-select-option>
<a-select-option value="c6">C6</a-select-option>
<a-select-option value="c7">C7</a-select-option>
<a-select-option value="c8">C8</a-select-option>
<a-select-option value="c9">C9</a-select-option>
<a-select-option value="c10">C10</a-select-option>
<a-select-option value="card-4x6">card-4x6</a-select-option>
<a-select-option value="card-5x7">card-5x7</a-select-option>
<a-select-option value="commercial">commercial</a-select-option>
<a-select-option value="executive">executive</a-select-option>
<a-select-option value="invoice">invoice</a-select-option>
<a-select-option value="ledger">ledger</a-select-option>
<a-select-option value="legal">legal</a-select-option>
<a-select-option value="legal-13">legal-13</a-select-option>
<a-select-option value="letter">letter</a-select-option>
<a-select-option value="monarch">monarch</a-select-option>
<a-select-option value="tabloid-extra">tabloid-extra</a-select-option>
</a-select>
</a-form-item>
</div>
<div v-if="formState.op === 'custom'">
<a-form-item name="width" label="宽度">
<a-input-number v-model:value="formState.width" :min="0"></a-input-number>
</a-form-item>
<a-form-item name="height" label="高度">
<a-input-number v-model:value="formState.height" :min="0"></a-input-number>
</a-form-item>
<a-form-item label="单位">
<a-radio-group v-model:value="formState.unit">
<a-radio value="pt">像素</a-radio>
<a-radio value="cm">厘米</a-radio>
<a-radio value="mm">毫米</a-radio>
<a-radio value="in">英寸</a-radio>
</a-radio-group>
</a-form-item>
</div>
<a-form-item name="page" hasFeedback :validateStatus="validateStatus.page" :help="validateHelp.page"
label="页码范围">
<a-input v-model:value="formState.page" placeholder="应用的页码范围(留空表示全部), e.g. 1-10" allow-clear />
Expand Down Expand Up @@ -107,6 +121,7 @@ export default defineComponent({
paper_size: "A4",
width: 0,
height: 0,
unit: "pt"
});
const validateStatus = reactive({
Expand Down Expand Up @@ -189,7 +204,7 @@ export default defineComponent({
} else if (formState.op === "common") {
await handleOps(ScalePDFByPaperSize, [formState.input, formState.output, formState.paper_size, formState.page]);
} else if (formState.op === "custom") {
await handleOps(ScalePDFByDim, [formState.input, formState.output, formState.width, formState.height, formState.page]);
await handleOps(ScalePDFByDim, [formState.input, formState.output, formState.width, formState.height, formState.unit, formState.page]);
}
confirmLoading.value = false;
}
Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/data.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ interface ScaleState {
paper_size: string;
width: number;
height: number;
unit: string;
}

interface PreferencesState {
Expand Down
2 changes: 1 addition & 1 deletion frontend/wailsjs/go/main/App.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export function RotatePDF(arg1:string,arg2:string,arg3:number,arg4:string):Promi

export function SaveConfig(arg1:string,arg2:string,arg3:string):Promise<void>;

export function ScalePDFByDim(arg1:string,arg2:string,arg3:number,arg4:number,arg5:string):Promise<void>;
export function ScalePDFByDim(arg1:string,arg2:string,arg3:number,arg4:number,arg5:string,arg6:string):Promise<void>;

export function ScalePDFByPaperSize(arg1:string,arg2:string,arg3:string,arg4:string):Promise<void>;

Expand Down
4 changes: 2 additions & 2 deletions frontend/wailsjs/go/main/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,8 @@ export function SaveConfig(arg1, arg2, arg3) {
return window['go']['main']['App']['SaveConfig'](arg1, arg2, arg3);
}

export function ScalePDFByDim(arg1, arg2, arg3, arg4, arg5) {
return window['go']['main']['App']['ScalePDFByDim'](arg1, arg2, arg3, arg4, arg5);
export function ScalePDFByDim(arg1, arg2, arg3, arg4, arg5, arg6) {
return window['go']['main']['App']['ScalePDFByDim'](arg1, arg2, arg3, arg4, arg5, arg6);
}

export function ScalePDFByPaperSize(arg1, arg2, arg3, arg4) {
Expand Down
Loading

0 comments on commit b5cf8f6

Please sign in to comment.